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