Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

39 lines
843 B

/* sem.h -- simple semaphore mechanism. */
/* Copyright 1995 Spyglass, Inc. All Rights Reserved. */
/* Jeff Hostetler, Spyglass, Inc. 1995. */
#ifndef _H_SEM_H_
#define _H_SEM_H_
typedef struct _Sem Sem;
typedef struct _SemQueueEntry SemQueueEntry;
struct _Sem /* a simple semaphore */
{
BOOL bLocked; /* state of semaphore */
SemQueueEntry * qHead; /* FIFO of blocked threads waiting on semaphore */
SemQueueEntry * qTail; /* last blocked thread */
};
struct _SemQueueEntry
{
struct Mwin *tw;
SemQueueEntry * qNext;
};
struct Params_SemData
{
int * pStatus;
Sem * semaphore;
};
extern Sem gModalDialogSemaphore;
void Sem_InitSem(Sem * sem);
BOOL Sem_CondWaitSem_Sync(Sem * sem);
void Sem_SignalSem_Sync(Sem * sem);
int Sem_WaitSem_Async(struct Mwin * tw, int nState, void **ppInfo);
#endif /* _H_SEM_H_ */