6 /* ---------------------------- included header files ---------------------- */
8 /* ---------------------------- global definitions ------------------------- */
10 /* ---------------------------- global macros ------------------------------ */
12 /* ---------------------------- type definitions --------------------------- */
18 } exec_context_privileged_t
;
33 } exec_context_type_t
;
45 unsigned long wcontext
;
51 struct fmodule
*module
;
56 exec_context_type_t type
;
60 /* for internal use *only*. *Never* acces this from outside! */
61 exec_context_privileged_t private_data
;
72 } exec_context_change_mask_t
;
76 exec_context_type_t type
;
80 } exec_context_changes_t
;
82 /* ---------------------------- forward declarations ----------------------- */
84 /* ---------------------------- exported variables (globals) --------------- */
86 /* ---------------------------- interface functions ------------------------ */
88 /* Creates a new exec_context from the passed in arguments in malloc'ed memory.
89 * The context must later be destroyed with exc_destroy_context().
93 * Pointer to a structure which specifies the initial values of the struct
96 * The mask of members in ecc to use.
98 const exec_context_t
*exc_create_context(
99 exec_context_changes_t
*ecc
, exec_context_change_mask_t mask
);
101 /* Similar to exc_create_context(), but the created context contains only dummy
103 const exec_context_t
*exc_create_null_context(void);
105 /* Works like exc_create_context(), but initialises all values with the data
106 * from excin. The ecc/mask pair overrides these values. */
107 const exec_context_t
*exc_clone_context(
108 const exec_context_t
*excin
, exec_context_changes_t
*ecc
,
109 exec_context_change_mask_t mask
);
111 /* Destroys an exec_context structure that was created with
112 * exc_create_context(). */
113 void exc_destroy_context(const exec_context_t
*exc
);
115 #endif /* EXECCONTEXT_H */