diff options
author | Richard Braun <rbraun@sceen.net> | 2017-09-03 14:35:30 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2017-09-03 14:35:30 +0200 |
commit | d568619214a94ea0bb1587c597d914495269b1f2 (patch) | |
tree | c7102c8b04870f7a203dc6a19a9d64c1aabcff36 /kern | |
parent | 5774eb4713e252bd35832c163b0f2b117176c2de (diff) |
kern/work: new private header
Diffstat (limited to 'kern')
-rw-r--r-- | kern/work.h | 29 | ||||
-rw-r--r-- | kern/work_i.h | 32 |
2 files changed, 42 insertions, 19 deletions
diff --git a/kern/work.h b/kern/work.h index 2d7bd62f..68801c43 100644 --- a/kern/work.h +++ b/kern/work.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 Richard Braun. + * Copyright (c) 2013-2017 Richard Braun. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -33,35 +33,26 @@ */ #define WORK_HIGHPRIO 0x1 /* Use a high priority worker thread */ -struct work; - -/* - * Type for work functions. - */ -typedef void (*work_fn_t)(struct work *); - /* * Deferred work. * * This structure should be embedded in objects related to the work. It * stores the work function and is passed to it as its only parameter. * The function can then find the containing object with the structof macro. - * - * TODO Make private. */ -struct work { - struct work *next; - work_fn_t fn; -}; +struct work; /* * Queue of deferred works for batch scheduling. */ -struct work_queue { - struct work *first; - struct work *last; - unsigned int nr_works; -}; +struct work_queue; + +/* + * Type for work functions. + */ +typedef void (*work_fn_t)(struct work *); + +#include <kern/work_i.h> static inline void work_queue_init(struct work_queue *queue) diff --git a/kern/work_i.h b/kern/work_i.h new file mode 100644 index 00000000..b5bc8726 --- /dev/null +++ b/kern/work_i.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2013-2017 Richard Braun. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef _KERN_WORK_I_H +#define _KERN_WORK_I_H + +struct work { + struct work *next; + work_fn_t fn; +}; + +struct work_queue { + struct work *first; + struct work *last; + unsigned int nr_works; +}; + +#endif /* _KERN_WORK_I_H */ |