]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/tools/build/src/engine/function.h
update sources to v12.2.3
[ceph.git] / ceph / src / boost / tools / build / src / engine / function.h
CommitLineData
7c673cae
FG
1/*
2 * Copyright 2011 Steven Watanabe
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
7#ifndef FUNCTION_SW20111123_H
8#define FUNCTION_SW20111123_H
9
10#include "object.h"
11#include "frames.h"
12#include "lists.h"
13#include "parse.h"
14#include "strings.h"
15
16typedef struct _function FUNCTION;
17typedef struct _stack STACK;
18
19STACK * stack_global( void );
20void stack_push( STACK * s, LIST * l );
21LIST * stack_pop( STACK * s );
22
23FUNCTION * function_compile( PARSE * parse );
24FUNCTION * function_builtin( LIST * ( * func )( FRAME * frame, int flags ), int flags, const char * * args );
25void function_refer( FUNCTION * );
26void function_free( FUNCTION * );
27OBJECT * function_rulename( FUNCTION * );
28void function_set_rulename( FUNCTION *, OBJECT * );
29void function_location( FUNCTION *, OBJECT * *, int * );
30LIST * function_run( FUNCTION * function, FRAME * frame, STACK * s );
31
32FUNCTION * function_compile_actions( const char * actions, OBJECT * file, int line );
33void function_run_actions( FUNCTION * function, FRAME * frame, STACK * s, string * out );
34
35FUNCTION * function_bind_variables( FUNCTION * f, module_t * module, int * counter );
36FUNCTION * function_unbind_variables( FUNCTION * f );
37
b32b8144
FG
38LIST * function_get_variables( FUNCTION * f );
39
7c673cae
FG
40void function_done( void );
41
42#ifdef HAVE_PYTHON
43
44FUNCTION * function_python( PyObject * function, PyObject * bjam_signature );
45
46#endif
47
48#endif