]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/tools/build/src/engine/modules.h
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / tools / build / src / engine / modules.h
CommitLineData
7c673cae
FG
1/*
2 * Copyright 2001-2004 David Abrahams.
3 * Distributed under the Boost Software License, Version 1.0.
4 * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
5 */
6#ifndef MODULES_DWA10182001_H
7#define MODULES_DWA10182001_H
8
92f5a8d4 9#include "config.h"
7c673cae
FG
10#include "lists.h"
11#include "object.h"
12
13typedef struct module_t module_t ;
14struct module_t
15{
16 OBJECT * name;
17 struct hash * rules;
18 struct hash * variables;
19 struct hash * variable_indices;
20 int num_fixed_variables;
21 LIST * * fixed_variables;
22 struct hash * imported_modules;
23 module_t * class_module;
24 struct hash * native_rules;
25 int user_module;
26};
27
28module_t * bindmodule( OBJECT * name );
29module_t * root_module();
30void delete_module( module_t * );
31
32void import_module( LIST * module_names, module_t * target_module );
33LIST * imported_modules( module_t * );
34
35struct hash * demand_rules( module_t * );
36
37void module_bind_variables( module_t * );
38
39/*
40 * After calling module_add_fixed_var, module_set_fixed_variables must be called
41 * before accessing any variables in the module.
42 */
43int module_add_fixed_var( module_t *, OBJECT * name, int * n );
44void module_set_fixed_variables( module_t *, int n );
45
46/*
47 * Returns the index of the variable or -1 if none exists.
48 */
49int module_get_fixed_var( module_t *, OBJECT * name );
50
51void modules_done();
52
53#endif