From ea25abb295d9b4fbaf0ac23af8ffe71247970f1b Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 27 Nov 2019 21:33:06 +0300 Subject: . --- src/file.h | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/file.h') diff --git a/src/file.h b/src/file.h index 0994755..a677e2f 100644 --- a/src/file.h +++ b/src/file.h @@ -3,9 +3,27 @@ struct magi_file { - char * param_name; - struct magi_para_list * params; + /* All pointers must be valid as 'free' arguments. */ + char * param_name; /* Name of corresponding form field */ + char * file_name; /* File name on user's computer */ + struct magi_param_list * params; /* Multipart params (e.g. type) */ }; +struct magi_file_list { + struct magi_file_list * next; /* Must be valid as 'free' argument. */ + struct magi_file item; +}; + + +/* Addition of item to top of list. Null <=> error. */ +int magi_file_list_add(struct magi_file_list ** list, struct magi_file * item); + +/* First node in list: node.param_name == name; else null. */ +struct magi_file * magi_file_list_get(struct magi_file_list * list, + const char * name); + +/* Freeing and invalidation of list. */ +void magi_file_list_destroy(struct magi_file_list * list); + #endif -- cgit v1.2.3