void CtdlRegisterServiceHook(int tcp_port,
char *sockpath,
void (*h_greeting_function) (void),
- void (*h_command_function) (void) )
+ void (*h_command_function) (void),
+ void (*h_async_function) (void)
+ )
{
struct ServiceFunctionHook *newfcn;
char message[SIZ];
newfcn->sockpath = sockpath;
newfcn->h_greeting_function = h_greeting_function;
newfcn->h_command_function = h_command_function;
+ newfcn->h_async_function = h_async_function;
if (sockpath != NULL) {
newfcn->msock = ig_uds_server(sockpath, config.c_maxsessions);
void CtdlUnregisterServiceHook(int tcp_port, char *sockpath,
void (*h_greeting_function) (void),
- void (*h_command_function) (void) )
+ void (*h_command_function) (void),
+ void (*h_async_function) (void)
+ )
{
struct ServiceFunctionHook *cur, *p;
strcmp(sockpath, cur->sockpath)) &&
h_greeting_function == cur->h_greeting_function &&
h_command_function == cur->h_command_function &&
+ h_async_function == cur->h_async_function &&
tcp_port == cur->tcp_port) {
close(cur->msock);
if (sockpath) {