librazor/razor-internal.h
changeset 370 a3e288343fe7
parent 364 66ec30bde5e5
child 372 6e93e5485947
     1.1 --- a/librazor/razor-internal.h	Sat May 09 21:30:22 2009 +0100
     1.2 +++ b/librazor/razor-internal.h	Thu Jul 02 11:31:03 2009 +0100
     1.3 @@ -1,6 +1,7 @@
     1.4  /*
     1.5   * Copyright (C) 2008  Kristian Høgsberg <krh@redhat.com>
     1.6   * Copyright (C) 2008  Red Hat, Inc
     1.7 + * Copyright (C) 2009  J. Ali Harlow <ali@juiblex.co.uk>
     1.8   *
     1.9   * This program is free software; you can redistribute it and/or modify
    1.10   * it under the terms of the GNU General Public License as published by
    1.11 @@ -67,6 +68,11 @@
    1.12  #define RAZOR_FILE_POOL			"file_pool"
    1.13  #define RAZOR_FILE_STRING_POOL		"file_string_pool"
    1.14  
    1.15 +struct razor_script {
    1.16 +	uint32_t program;
    1.17 +	uint32_t body;
    1.18 +};
    1.19 +
    1.20  struct razor_package {
    1.21  	unsigned int name  : 24;
    1.22  	unsigned int flags : 8;
    1.23 @@ -78,6 +84,8 @@
    1.24  	uint32_t license;
    1.25  	struct list_head properties;
    1.26  	struct list_head files;
    1.27 +	struct razor_script preun;
    1.28 +	struct razor_script postun;
    1.29  };
    1.30  
    1.31  
    1.32 @@ -175,17 +183,28 @@
    1.33  razor_merger_add_package(struct razor_merger *merger,
    1.34  			 struct razor_package *package);
    1.35  struct razor_set *
    1.36 -razor_merger_finish(struct razor_merger *merger);
    1.37 +razor_merger_commit(struct razor_merger *merger);
    1.38 +void
    1.39 +razor_merger_package_add_script(struct razor_merger *merger,
    1.40 +				struct razor_package *package,
    1.41 +				enum razor_property_flags script,
    1.42 +				const char *program, const char *body);
    1.43 +void
    1.44 +razor_merger_destroy(struct razor_merger *merger);
    1.45  
    1.46  int run_lua_script(const char *root, const char *name, const char *body,
    1.47  		   ssize_t len);
    1.48  
    1.49 +int razor_run_script(const char *root, enum razor_property_flags script,
    1.50 +		     const char *program, const char *body);
    1.51 +
    1.52  /* Utility functions */
    1.53  
    1.54  void
    1.55  razor_package_get_details_varg(struct razor_set *set,
    1.56  			       struct razor_package *package,
    1.57  			       va_list args);
    1.58 +void razor_rpm_get_details_varg(struct razor_rpm *rpm, va_list args);
    1.59  
    1.60  int razor_create_dir(const char *root, const char *path);
    1.61  int razor_write(int fd, const void *data, size_t size);