Annotation of sys/sys/workq.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: workq.h,v 1.2 2007/05/31 21:33:07 tedu Exp $ */
2:
3: /*
4: * Copyright (c) 2007 David Gwynne <dlg@openbsd.org>
5: * Copyright (c) 2007 Ted Unangst <tedu@openbsd.org>
6: *
7: * Permission to use, copy, modify, and distribute this software for any
8: * purpose with or without fee is hereby granted, provided that the above
9: * copyright notice and this permission notice appear in all copies.
10: *
11: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18: */
19:
20: #ifndef _SYS_WORKQ_H_
21: #define _SYS_WORKQ_H_
22:
23: struct workq;
24:
25: #define WQ_WAITOK (1<<0)
26: #define WQ_MPSAFE (1<<1)
27:
28: typedef void (*workq_fn)(void *, void *);
29: struct workq *workq_create(const char * /* name */, int /* nthreads */);
30: int workq_add_task(struct workq *, int /* flags */, workq_fn,
31: void *, void *);
32: void workq_destroy(struct workq *);
33:
34: #endif /* _SYS_WORKQ_H_ */
CVSweb