Skip to content
Snippets Groups Projects
Select Git revision
  • ecedd41439800c254bc9e202364d2105a5bbfc5b
  • master default
  • dbck-q-n-d-link
  • foutput-text_stat-override
  • generations
  • text-stat-sha256
  • use-nettle
  • import-nettle
  • refactor-cached_get_text
  • refactor-cached_get_text-part-2
  • add-text_store
  • introduce-generation_position
  • remove-reclamation
  • dbfile-temp-filenames
  • sstrdup
  • dbfile_open_read-check-magic
  • adns_dist
  • liboop_dist
  • search
  • isc
  • dbdbckmultiplechoice
  • last.cvs.revision
  • 2.1.2
  • 2.1.1
  • 2.1.0
  • adns_1_0
  • liboop_0_9
  • 2.0.7
  • search_bp
  • 2.0.6
  • 2.0.5
  • isc_1_01
  • Protocol-A-10.4
  • 2.0.4
  • 2.0.3
  • 2.0.2
  • 2.0.1
  • 2.0.0
  • isc_1_00
  • isc_merge_1999_05_01
  • isc_merge_1999_04_21
41 results

com-h.awk

Blame
  • callback.h 1.29 KiB
    /*
    || 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.
    */
    
    #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 *);
    
    /* Prototypes begin here */
    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);
    void count_memory_in_callbacks(size_t * num, size_t * size);
    /* 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