1 #ifndef MINIX_SOCKEVENT_PROC_H 2 #define MINIX_SOCKEVENT_PROC_H 3 4 struct sockevent_proc { 5 struct sockevent_proc *spr_next; /* next on sock or free list */ 6 unsigned char spr_event; /* event for call (SEV_) */ 7 unsigned char spr_timer; /* suspended call has timer? */ 8 struct sockdriver_call spr_call; /* call structure */ 9 endpoint_t spr_endpt; /* user endpoint */ 10 struct sockdriver_packed_data spr_data; /* regular data, packed */ 11 size_t spr_datalen; /* length of regular data */ 12 size_t spr_dataoff; /* offset into regular data */ 13 struct sockdriver_packed_data spr_ctl; /* control data, packed */ 14 socklen_t spr_ctllen; /* length of control data */ 15 socklen_t spr_ctloff; /* offset into control data */ 16 int spr_flags; /* send/recv flags (MSG_) */ 17 int spr_rflags; /* recv result flags (MSG_) */ 18 clock_t spr_time; /* timeout time for call */ 19 }; 20 21 void sockevent_proc_init(void); 22 struct sockevent_proc *sockevent_proc_alloc(void); 23 void sockevent_proc_free(struct sockevent_proc *); 24 25 #endif /* !MINIX_SOCKEVENT_PROC_H */ 26