diff options
Diffstat (limited to 'gpxe/src/include/gpxe/process.h')
-rw-r--r-- | gpxe/src/include/gpxe/process.h | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/gpxe/src/include/gpxe/process.h b/gpxe/src/include/gpxe/process.h deleted file mode 100644 index 944858d7..00000000 --- a/gpxe/src/include/gpxe/process.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef _GPXE_PROCESS_H -#define _GPXE_PROCESS_H - -/** @file - * - * Processes - * - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -#include <gpxe/list.h> -#include <gpxe/refcnt.h> -#include <gpxe/tables.h> - -/** A process */ -struct process { - /** List of processes */ - struct list_head list; - /** - * Single-step the process - * - * This method should execute a single step of the process. - * Returning from this method is isomorphic to yielding the - * CPU to another process. - */ - void ( * step ) ( struct process *process ); - /** Reference counter - * - * If this interface is not part of a reference-counted - * object, this field may be NULL. - */ - struct refcnt *refcnt; -}; - -extern void process_add ( struct process *process ); -extern void process_del ( struct process *process ); -extern void step ( void ); - -/** - * Initialise process without adding to process list - * - * @v process Process - * @v step Process' step() method - */ -static inline __attribute__ (( always_inline )) void -process_init_stopped ( struct process *process, - void ( * step ) ( struct process *process ), - struct refcnt *refcnt ) { - INIT_LIST_HEAD ( &process->list ); - process->step = step; - process->refcnt = refcnt; -} - -/** - * Initialise process and add to process list - * - * @v process Process - * @v step Process' step() method - */ -static inline __attribute__ (( always_inline )) void -process_init ( struct process *process, - void ( * step ) ( struct process *process ), - struct refcnt *refcnt ) { - process_init_stopped ( process, step, refcnt ); - process_add ( process ); -} - -/** Permanent process table */ -#define PERMANENT_PROCESSES __table ( struct process, "processes" ) - -/** - * Declare a permanent process - * - * Permanent processes will be automatically added to the process list - * at initialisation time. - */ -#define __permanent_process __table_entry ( PERMANENT_PROCESSES, 01 ) - -#endif /* _GPXE_PROCESS_H */ |