/usr/include/pike7.8/pike/callback.h is in pike7.8-dev 7.8.866-8.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | /*
|| This file is part of Pike. For copyright information see COPYRIGHT.
|| Pike is distributed under GPL, LGPL and MPL. See the file COPYING
|| for more information.
|| $Id: 2f82a7ec716492b935df960923ec65f29cd66577 $
*/
#ifndef CALLBACK_H
#define CALLBACK_H
#include "array.h"
struct callback;
struct callback_list
{
struct callback *callbacks;
int num_calls;
};
extern struct callback_list fork_child_callback;
typedef void (*callback_func)(struct callback *, void *,void *);
#include "block_alloc_h.h"
/* Prototypes begin here */
struct callback;
BLOCK_ALLOC(callback, CALLBACK_CHUNK);
PMOD_EXPORT void low_call_callback(struct callback_list *lst, void *arg);
PMOD_EXPORT struct callback *debug_add_to_callback(struct callback_list *lst,
callback_func call,
void *arg,
callback_func free_func);
PMOD_EXPORT void *remove_callback(struct callback *l);
void free_callback_list(struct callback_list *lst);
void cleanup_callbacks(void);
/* Prototypes end here */
#define add_to_callback(LST,CALL,ARG,FF) \
dmalloc_touch(struct callback *,debug_add_to_callback((LST),(CALL),(ARG),(FF)))
#if 1
#define call_callback(LST, ARG) do { \
struct callback_list *lst_=(LST); \
void *arg_=(ARG); \
if(lst_->callbacks) low_call_callback(lst_, arg_); \
}while(0)
#else
#define call_callback(LST, ARG) low_call_callback((LST), (ARG))
#endif
#endif
|