summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/process.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/gpxe/process.h')
-rw-r--r--src/include/gpxe/process.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/include/gpxe/process.h b/src/include/gpxe/process.h
index c0837fa4f..595787c0f 100644
--- a/src/include/gpxe/process.h
+++ b/src/include/gpxe/process.h
@@ -9,6 +9,7 @@
#include <gpxe/list.h>
#include <gpxe/refcnt.h>
+#include <gpxe/tables.h>
/** A process */
struct process {
@@ -33,6 +34,7 @@ struct process {
extern void process_add ( struct process *process );
extern void process_del ( struct process *process );
extern void step ( void );
+extern void init_processes ( void );
/**
* Initialise process without adding to process list
@@ -62,4 +64,13 @@ process_init ( struct process *process,
process_add ( process );
}
+/**
+ * Declare a permanent process
+ *
+ * Permanent processes will be automatically added to the process list
+ * at initialisation time.
+ */
+#define __permanent_process \
+ __table ( struct process, processes, 01 )
+
#endif /* _GPXE_PROCESS_H */