summaryrefslogtreecommitdiff
path: root/inc/IncludeLibrary_osd.h
blob: 60369bdab620c244b3a8c875e248ed494f40ec70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/* Status des erreurs osd internes */

#define OSD_MAXASTS	1

#ifdef WNT
#define NUM_ASTS_DEF 32
#define MAXASTS 10
#define NTDNOTINIT    11
#endif

//#ifdef WNT
//#define errno GetLastError()
//#endif

typedef struct _syssynch SYSSYNCH, *PSYSSYNCH ;
struct _syssynch {
#ifdef UNX
	int go ;
	int wait ;
#elif defined(WNT)
        HANDLE hObject;
#endif
} ;

typedef struct _dring DRING, *PDRING ;
struct _dring {
	DRING *next ;
	PAST_ADDR_PV ast ;
	void *param ;
	unsigned int time ;
} ;

#if defined(UNX) || defined(WNT)

#define STSCLR(X)	((X)->type = PENDING ,\
			 (X)->grp = 0 ,\
			 (X)->info = 0 ,\
			 (X)->stat = 0 )

#define STSSYSOSD(X)	((X)->type = SYS_CODE | SYSTEM | ERROR ,\
			 (X)->grp = GRP_OSD ,\
			 (X)->stat = errno)

#define STSSYSNTD(X)	((X)->type = SYS_CODE | SYSTEM | ERROR ,\
			 (X)->grp = GRP_NTD ,\
			 (X)->stat = errno)

#define STSINTOSD(X,Y)	((X)->type = INTERNAL | ERROR ,\
			 (X)->grp = GRP_OSD ,\
			 (X)->stat = (Y))

#define STSINTNTD(X,Y)	((X)->type = INTERNAL | ERROR ,\
			 (X)->grp = GRP_NTD ,\
			 (X)->stat = (Y))

#else

#define osd_initsynch(S) 1

#define osd_stop(X)	( (X)->go = 0 )

#define osd_go(X)	( ((X)->go == 0) ? ((X)->go = 1 , SYS$SETEF(0)) : 1 )

#define osd_synch(X,S)	(SYS$SYNCH(0, (X)) , 1)

#define osd_disblast()	SYS$SETAST(0)

#define osd_enblast()	SYS$SETAST(1)

#define osd_exit(X)	SYS$EXIT(X)

#endif