libmp/include/pool.h

41 lines
1.2 KiB
C
Raw Normal View History

2024-06-20 00:34:32 +00:00
#pragma once
2024-06-25 18:21:15 +00:00
#include "mptp.h"
2024-06-20 00:34:32 +00:00
#include "types.h"
2024-06-20 22:36:56 +00:00
#include <stdbool.h>
2024-06-25 18:21:15 +00:00
#include <sys/socket.h>
#define POOL_INFO_SIZE "size"
#define POOL_INFO_PUBKEY "pubkey"
#define POOL_INFO_MAINTAINER "maintainer"
2024-06-25 18:21:15 +00:00
typedef struct lm_pool_thread_arg {
int sock;
struct sockaddr addr;
lm_mptp_t packet;
lm_pool_t *pool;
} lm_pool_thread_arg_t;
2024-06-20 00:34:32 +00:00
lm_pool_t *lm_pool_new(char *name, char *url);
void lm_pool_test(lm_pool_t *pool);
void lm_pool_free(lm_pool_t *pool);
lm_pkg_t *lm_pool_package_find(lm_pool_t *pool, char *name, char *version);
bool lm_pool_package_add(lm_pool_t *pool, lm_pkg_t *pkg);
bool lm_pool_package_get(lm_pool_t *pool, lm_pkg_t *pkg);
2024-07-02 01:44:07 +00:00
bool lm_pool_path_set_dir(lm_pool_t *pool, char *dir);
bool lm_pool_path_is_empty(lm_pool_t *pool);
void lm_pool_path_free(lm_pool_t *pool);
bool lm_pool_info_load(lm_pool_t *pool);
bool lm_pool_info_get(lm_pool_t *pool);
void lm_pool_info_free(lm_pool_t *pool);
bool lm_pool_list_load(lm_pool_t *pool);
bool lm_pool_list_get(lm_pool_t *pool);
2024-07-02 01:44:07 +00:00
void lm_pool_list_free(lm_pool_t *pool);
void lm_pool_serve(lm_pool_t *pool, lm_mptp_t *packet, int sock, struct sockaddr *addr);
void lm_pool_serve_thread(void *arg);