2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: include/chew/chew.h
5 * PURPOSE: Common Highlevel Executive Worker
7 * PROGRAMMERS: arty (ayerkes@speakeasy.net)
10 #ifndef _REACTOS_CHEW_H
11 #define _REACTOS_CHEW_H
14 * Initialize CHEW, given a device object (since IoAllocateWorkItem relies on
17 VOID
ChewInit( PDEVICE_OBJECT DeviceObject
);
19 * Shutdown CHEW, including removing remaining work items.
23 * Create a work item, or perform the work, based on IRQL.
24 * At passive level, Worker is called directly on UserSpace.
25 * At greater than passive level, a work item is created with Bytes
26 * context area and data copied from UserSpace.
27 * If a work item is created, Item contains the address and the function
29 * If the work is performed immediately, Item contains NULL and the
30 * function returns true.
31 * Else, the function returns false and Item is undefined.
34 ( PVOID
*Item
, UINT Bytes
, VOID (*Worker
)(PVOID
), PVOID UserSpace
);
36 * Remove a work item, given the pointer returned to Item in ChewCreate.
38 VOID
ChewRemove( PVOID Item
);
40 #endif/*_REACTOS_CHEW_H*/