diff -r 66ec30bde5e5 -r f8c27fe9fe63 librazor/razor-internal.h --- a/librazor/razor-internal.h Sat May 09 21:30:22 2009 +0100 +++ b/librazor/razor-internal.h Fri Jun 12 16:59:11 2009 +0100 @@ -1,6 +1,7 @@ /* * Copyright (C) 2008 Kristian Høgsberg * Copyright (C) 2008 Red Hat, Inc + * Copyright (C) 2009 J. Ali Harlow * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -67,6 +68,11 @@ #define RAZOR_FILE_POOL "file_pool" #define RAZOR_FILE_STRING_POOL "file_string_pool" +struct razor_script { + uint32_t program; + uint32_t body; +}; + struct razor_package { unsigned int name : 24; unsigned int flags : 8; @@ -78,6 +84,8 @@ uint32_t license; struct list_head properties; struct list_head files; + struct razor_script preun; + struct razor_script postun; }; @@ -175,17 +183,28 @@ razor_merger_add_package(struct razor_merger *merger, struct razor_package *package); struct razor_set * -razor_merger_finish(struct razor_merger *merger); +razor_merger_commit(struct razor_merger *merger); +void +razor_merger_package_add_script(struct razor_merger *merger, + struct razor_package *package, + enum razor_property_flags script, + const char *program, const char *body); +void +razor_merger_destroy(struct razor_merger *merger); int run_lua_script(const char *root, const char *name, const char *body, ssize_t len); +int razor_run_script(const char *root, enum razor_property_flags script, + const char *program, const char *body); + /* Utility functions */ void razor_package_get_details_varg(struct razor_set *set, struct razor_package *package, va_list args); +void razor_rpm_get_details_varg(struct razor_rpm *rpm, va_list args); int razor_create_dir(const char *root, const char *path); int razor_write(int fd, const void *data, size_t size);