new: implement more pool stuff, start working on package functions
This commit is contained in:
@ -34,6 +34,14 @@ typedef enum lm_error {
|
||||
LM_ERR_MPTPNotLast = 30,
|
||||
LM_ERR_NoPort = 31,
|
||||
LM_ERR_PoolInfoBad = 32,
|
||||
LM_ERR_ArcWBlockFail = 33,
|
||||
LM_ERR_ArcRBlockFail = 34,
|
||||
LM_ERR_ArcOpenFail = 35,
|
||||
LM_ERR_ArcWHeaderFail = 36,
|
||||
LM_ERR_ArcWEntryFail = 37,
|
||||
LM_ERR_GetCwdFail = 38,
|
||||
LM_ERR_PoolListDirFail = 39,
|
||||
|
||||
} lm_error_t;
|
||||
|
||||
typedef struct lm_error_desc {
|
||||
|
@ -127,7 +127,6 @@ bool lm_mptp_set_data(lm_mptp_t *packet, char *data, size_t size);
|
||||
bool lm_mptp_set_host(lm_mptp_t *packet, char *host);
|
||||
bool lm_mptp_get_host(lm_mptp_t *packet, char *host);
|
||||
bool lm_mptp_get_data(lm_mptp_t *packet, char *data);
|
||||
|
||||
int lm_mptp_socket(char *addr, uint16_t port, struct sockaddr *saddr);
|
||||
void lm_mptp_copy(lm_mptp_t *dst, lm_mptp_t *src);
|
||||
bool lm_mptp_verify(lm_mptp_t *packet);
|
||||
|
8
include/pkg.h
Normal file
8
include/pkg.h
Normal file
@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
#include "types.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
lm_pkg_t *lm_pkg_new();
|
||||
void lm_pkg_free(lm_pkg_t *pkg);
|
||||
|
||||
bool lm_pkg_data_load(lm_pkg_t *pkg, char *file);
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#include "mptp.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
@ -13,8 +14,12 @@ typedef struct lm_pool_thread_arg {
|
||||
|
||||
lm_pool_t *lm_pool_new(char *name, char *url);
|
||||
void lm_pool_test(lm_pool_t *pool);
|
||||
bool lm_pool_info_load(lm_pool_t *pool, char *file);
|
||||
void lm_pool_info_free(lm_pool_t *pool);
|
||||
void lm_pool_free(lm_pool_t *pool);
|
||||
void lm_pool_serve_thread(void *arg);
|
||||
void lm_pool_serve(lm_pool_t *pool, lm_mptp_t *packet, int sock, struct sockaddr *addr);
|
||||
bool lm_pool_add(lm_pool_t *pool, lm_pkg_t *pkg);
|
||||
|
||||
bool lm_pool_info_load(lm_pool_t *pool, char *file);
|
||||
bool lm_pool_info_get(lm_pool_t *pool, char *file);
|
||||
void lm_pool_info_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);
|
||||
|
@ -3,6 +3,15 @@
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
|
||||
typedef struct lm_pkg {
|
||||
struct lm_pkg *next;
|
||||
char *name;
|
||||
char *desc;
|
||||
char **depends;
|
||||
char *version;
|
||||
size_t size;
|
||||
} lm_pkg_t;
|
||||
|
||||
typedef struct lm_pool_info {
|
||||
char *maintainer;
|
||||
char *pubkey;
|
||||
@ -14,6 +23,7 @@ typedef struct lm_pool {
|
||||
struct lm_pool *next;
|
||||
lm_pool_info_t info;
|
||||
lm_url_t url;
|
||||
lm_pkg_t *pkg;
|
||||
bool available;
|
||||
char *name;
|
||||
} lm_pool_t;
|
||||
|
@ -14,3 +14,4 @@ bool is_letter(char c);
|
||||
bool is_digit(char c);
|
||||
bool copy_to_buffer(void *buffer, void *src, size_t size, ssize_t *total, ssize_t *used);
|
||||
bool copy_from_buffer(void *dst, void *buffer, size_t size, ssize_t *total, ssize_t *used);
|
||||
bool extract_archive(char *dst, char *src);
|
||||
|
Reference in New Issue
Block a user