#ifndef UD_ALARM_H #define UD_ALARM_H #include "udposix.h" #include <signal.h> /* * An alarm structure. * * WARNING: Don't rely on its details. */ typedef struct { int oldact_set; int newact_set; unsigned timeout; struct sigaction oldact; struct sigaction newact; } Alarm; UD_EXTERN_FUNC(void alarm_init, ( Alarm *alrm, /* alarm structure (out) */ unsigned timeout, /* timeout in seconds (in) */ void (*handler)(int sig) /* SIGALRM handler (in) */ )); UD_EXTERN_FUNC(void alarm_on, ( Alarm *alrm /* alarm structure (in/out) */ )); UD_EXTERN_FUNC(void alarm_off, ( Alarm *alrm /* alarm structure (in) */ )); UD_EXTERN_FUNC(void alarm_destroy, ( Alarm *alrm /* alarm structure (out) */ )); #endif /* header-file lockout */