Merge from amd64-branch:
[reactos.git] / reactos / drivers / storage / ide / uniata / inc / misc.h
1 #ifndef __CROSSNT_MISC__H__
2 #define __CROSSNT_MISC__H__
3
4 extern "C"
5 void
6 __fastcall
7 _MOV_DD_SWP(
8 void* a, // ECX
9 void* b // EDX
10 );
11
12 #define MOV_DD_SWP(a,b) _MOV_DD_SWP(&(a),&(b))
13
14 /********************/
15
16 extern "C"
17 void
18 __fastcall
19 _MOV_DW_SWP(
20 void* a, // ECX
21 void* b // EDX
22 );
23
24 #define MOV_DW_SWP(a,b) _MOV_DW_SWP(&(a),&(b))
25
26 /********************/
27
28 typedef void
29 (__fastcall *ptrREVERSE_DD)(
30 void* a // ECX
31 );
32 extern "C" ptrREVERSE_DD _REVERSE_DD;
33
34 void
35 __fastcall
36 _REVERSE_DD_i486(
37 void* a // ECX
38 );
39
40 void
41 __fastcall
42 _REVERSE_DD_i386(
43 void* a // ECX
44 );
45 #define REVERSE_DD(a,b) _REVERSE_DD(&(a),&(b))
46
47 /********************/
48
49 extern "C"
50 void
51 __fastcall
52 _REVERSE_DW(
53 void* a // ECX
54 );
55
56 #define REVERSE_DW(a) _REVERSE_DW(&(a))
57
58 /********************/
59
60 extern "C"
61 void
62 __fastcall
63 _MOV_DW2DD_SWP(
64 void* a, // ECX
65 void* b // EDX
66 );
67
68 #define MOV_DW2DD_SWP(a,b) _MOV_DW2DD_SWP(&(a),&(b))
69
70 /********************/
71
72 extern "C"
73 void
74 __fastcall
75 _MOV_SWP_DW2DD(
76 void* a, // ECX
77 void* b // EDX
78 );
79
80 #define MOV_SWP_DW2DD(a,b) _MOV_SWP_DW2DD(&(a),&(b))
81
82 /********************/
83
84 extern "C"
85 void
86 __fastcall
87 _MOV_MSF(
88 void* a, // ECX
89 void* b // EDX
90 );
91 #define MOV_MSF(a,b) _MOV_MSF(&(a),&(b))
92
93 /********************/
94
95 typedef void
96 (__fastcall *ptrMOV_MSF_SWP)(
97 void* a, // ECX
98 void* b // EDX
99 );
100 extern "C" ptrMOV_MSF_SWP _MOV_MSF_SWP;
101
102 extern "C"
103 void
104 __fastcall
105 _MOV_MSF_SWP_i486(
106 void* a, // ECX
107 void* b // EDX
108 );
109
110 extern "C"
111 void
112 __fastcall
113 _MOV_MSF_SWP_i386(
114 void* a, // ECX
115 void* b // EDX
116 );
117 #define MOV_MSF_SWP(a,b) _MOV_MSF_SWP(&(a),&(b))
118
119 /********************/
120
121 extern "C"
122 void
123 __fastcall
124 _XCHG_DD(
125 void* a, // ECX
126 void* b // EDX
127 );
128 #define XCHG_DD(a,b) _XCHG_DD(&(a),&(b))
129
130 #endif // __CROSSNT_MISC__H__