diff options
author | José Bollo <jose.bollo@iot.bzh> | 2015-12-29 10:11:20 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2015-12-29 10:11:20 +0100 |
commit | 189415eece11c543e1ccb95dff32695ddc383565 (patch) | |
tree | d64b514e323b63fea366cf98e62dff4b9ba8fbc0 /src/wgtpkg-files.h | |
parent | 3c3ceb0ba615b8635ca8c6ef0c4de203c5eabb9b (diff) |
wgtpkg: spliting of headers
Change-Id: I8ac6a16c936b73c6ce74ee41ae9c5a2ad9d042ee
Diffstat (limited to 'src/wgtpkg-files.h')
-rw-r--r-- | src/wgtpkg-files.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/wgtpkg-files.h b/src/wgtpkg-files.h new file mode 100644 index 0000000..e3aabf8 --- /dev/null +++ b/src/wgtpkg-files.h @@ -0,0 +1,57 @@ +/* + Copyright 2015 IoT.bzh + + author: José Bollo <jose.bollo@iot.bzh> + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +enum entrytype { + type_unset = 0, + type_file = 1, + type_directory = 2 +}; + +enum fileflag { + flag_referenced = 1, + flag_opened = 2, + flag_author_signature = 4, + flag_distributor_signature = 8, + flag_signature = 12 +}; + +struct filedesc { + enum entrytype type; + unsigned int flags; + unsigned int signum; + unsigned int zindex; + char name[1]; +}; + +extern void file_reset(); +extern void file_clear_flags(); +extern unsigned int file_count(); +extern struct filedesc *file_of_index(unsigned int index); +extern struct filedesc *file_of_name(const char *name); +extern struct filedesc *file_add_directory(const char *name); +extern struct filedesc *file_add_file(const char *name); +extern int fill_files(); + +extern unsigned int signature_count(); +extern struct filedesc *signature_of_index(unsigned int index); +extern struct filedesc *create_signature(unsigned int number); +extern struct filedesc *get_signature(unsigned int number); + +extern int file_set_prop(struct filedesc *file, const char *name, const char *value); +extern const char *file_get_prop(struct filedesc *file, const char *name); + |