pike.git
/
src
/
program.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.h:1:
/*\ ||| This file a part of Pike, and is copyright by Fredrik Hubinette ||| Pike is distributed as GPL (General Public License) ||| See the files COPYING and DISCLAIMER for more information. \*/ /*
-
* $Id: program.h,v 1.
68
1999/
11
/
23
10
:
38
:
16
mast Exp $
+
* $Id: program.h,v 1.
69
1999/
12
/
13
12
:
08
:
13
mast Exp $
*/ #ifndef PROGRAM_H #define PROGRAM_H #include <stdarg.h> #include "global.h" #include "pike_types.h" #include "pike_macros.h" #include "svalue.h" #include "time_stuff.h"
pike.git/src/program.h:458:
struct implements_cache_s; int implements(struct program *a, struct program *b); /* Prototypes end here */ #define ADD_FUNCTION(NAME,FUNC,TYPE,FLAGS) \ quick_add_function(NAME,CONSTANT_STRLEN(NAME),FUNC,TYPE,CONSTANT_STRLEN(TYPE),FLAGS,0) #define ADD_INT_CONSTANT(NAME,CONST,FLAGS) \ quick_add_integer_constant(NAME,CONSTANT_STRLEN(NAME),CONST,FLAGS)
+
#define ADD_FUNCTION_DTYPE(NAME,FUN,DTYPE,FLAGS) do { \
+
DTYPE_START; \
+
{DTYPE} \
+
{ \
+
struct pike_string *_t; \
+
DTYPE_END(_t); \
+
quick_add_function(NAME,CONSTANT_STRLEN(NAME),FUN,_t->str,_t->len,FLAGS,0); \
+
free_string(_t); \
+
} \
+
} while (0)
+
#ifndef NO_PIKE_SHORTHAND #define add_function pike_add_function #endif #endif /* PROGRAM_H */ #ifdef DEBUG_MALLOC #define end_program() ((struct program *)debug_malloc_pass(debug_end_program())) #define end_class(NAME, FLAGS) do { debug_malloc_touch(new_program); debug_end_class(NAME, CONSTANT_STRLEN(NAME), FLAGS); }while(0) #else #define end_class(NAME,FLAGS) debug_end_class(NAME, CONSTANT_STRLEN(NAME), FLAGS) #define end_program debug_end_program #endif #ifdef PIKE_DEBUG #define start_new_program() debug_start_new_program(__LINE__,__FILE__) #else #define start_new_program() debug_start_new_program() #endif