ReactOS 0.4.16-dev-1946-g52006dd
sys_arch.h File Reference

Go to the source code of this file.

Classes

struct  _sys_sem_t
 
struct  _sys_mbox_t
 
struct  _LWIP_MESSAGE_CONTAINER
 

Macros

#define sys_jiffies()   sys_now()
 
#define sys_mbox_trypost_fromisr   sys_mbox_trypost
 
#define SYS_MBOX_NULL   NULL
 
#define SYS_SEM_NULL   NULL
 
#define SYS_ARCH_NULL   NULL
 

Typedefs

typedef struct _sys_sem_t sys_sem_t
 
typedef struct _sys_mbox_t sys_mbox_t
 
typedef u32_t sys_prot_t
 
typedef u32_t sys_thread_t
 
typedef struct _LWIP_MESSAGE_CONTAINER LWIP_MESSAGE_CONTAINER
 
typedef struct _LWIP_MESSAGE_CONTAINERPLWIP_MESSAGE_CONTAINER
 

Functions

void sys_arch_protect (sys_prot_t *lev)
 
void sys_arch_unprotect (sys_prot_t lev)
 

Macro Definition Documentation

◆ SYS_ARCH_NULL

#define SYS_ARCH_NULL   NULL

Definition at line 36 of file sys_arch.h.

◆ sys_jiffies

#define sys_jiffies (   void)    sys_now()

Definition at line 28 of file sys_arch.h.

◆ SYS_MBOX_NULL

#define SYS_MBOX_NULL   NULL

Definition at line 34 of file sys_arch.h.

◆ sys_mbox_trypost_fromisr

#define sys_mbox_trypost_fromisr   sys_mbox_trypost

Definition at line 31 of file sys_arch.h.

◆ SYS_SEM_NULL

#define SYS_SEM_NULL   NULL

Definition at line 35 of file sys_arch.h.

Typedef Documentation

◆ LWIP_MESSAGE_CONTAINER

◆ PLWIP_MESSAGE_CONTAINER

◆ sys_mbox_t

◆ sys_prot_t

typedef u32_t sys_prot_t

Definition at line 18 of file sys_arch.h.

◆ sys_sem_t

◆ sys_thread_t

Definition at line 20 of file sys_arch.h.

Function Documentation

◆ sys_arch_protect()

void sys_arch_protect ( sys_prot_t lev)

Definition at line 35 of file sys_arch.c.

36{
37 /* Acquire the global resource to prevent other CPUs from running */
39 *lev = ++GlobalLockLevel;
40}
static ERESOURCE GlobalLock
Definition: sys_arch.c:8
static ULONG GlobalLockLevel
Definition: sys_arch.c:9
PVOID NTAPI ExEnterCriticalRegionAndAcquireResourceExclusive(IN PERESOURCE Resource)
Definition: resource.c:2194

◆ sys_arch_unprotect()

void sys_arch_unprotect ( sys_prot_t  lev)

Definition at line 43 of file sys_arch.c.

44{
45 /* Release the global resource */
46 ASSERT((GlobalLockLevel > 0) && (lev == GlobalLockLevel));
49}
#define ASSERT(a)
Definition: mode.c:44
VOID FASTCALL ExReleaseResourceAndLeaveCriticalRegion(IN PERESOURCE Resource)
Definition: resource.c:2283