ReactOS 0.4.16-dev-188-g678aa63
unaligned.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define _UNALIGNED_ACCESS_ALLOWED   0
 
#define ReadUnalignedUlongPtr   ReadUnalignedU32
 
#define WriteUnalignedUlongPtr   WriteUnalignedU32
 

Functions

__forceinline unsigned short ReadUnalignedU16 (const unsigned short *p)
 
__forceinline unsigned long ReadUnalignedU32 (const unsigned long *p)
 
__forceinline unsigned long long ReadUnalignedU64 (const unsigned long long *p)
 
__forceinline void WriteUnalignedU16 (unsigned short *p, unsigned short val)
 
__forceinline void WriteUnalignedU32 (unsigned long *p, unsigned long val)
 
__forceinline void WriteUnalignedU64 (unsigned long long *p, unsigned long long val)
 

Macro Definition Documentation

◆ _UNALIGNED_ACCESS_ALLOWED

#define _UNALIGNED_ACCESS_ALLOWED   0

Definition at line 17 of file unaligned.h.

◆ ReadUnalignedUlongPtr

#define ReadUnalignedUlongPtr   ReadUnalignedU32

Definition at line 141 of file unaligned.h.

◆ WriteUnalignedUlongPtr

#define WriteUnalignedUlongPtr   WriteUnalignedU32

Definition at line 142 of file unaligned.h.

Function Documentation

◆ ReadUnalignedU16()

__forceinline unsigned short ReadUnalignedU16 ( const unsigned short p)

Definition at line 68 of file unaligned.h.

69{
70 unsigned char* p1 = (unsigned char*)p;
71 return (unsigned short)(p1[0] | (p1[1] << 8));
72}
GLfloat GLfloat p
Definition: glext.h:8902

◆ ReadUnalignedU32()

__forceinline unsigned long ReadUnalignedU32 ( const unsigned long p)

Definition at line 76 of file unaligned.h.

77{
78 unsigned char* p1 = (unsigned char*)p;
79 return (((unsigned long)p1[0] << 0) |
80 ((unsigned long)p1[1] << 8) |
81 ((unsigned long)p1[2] << 16) |
82 ((unsigned long)p1[3] << 24));
83}
#define long
Definition: qsort.c:33

Referenced by co_IntSetWindowLongPtr(), and IntGetSetClassLongPtr().

◆ ReadUnalignedU64()

__forceinline unsigned long long ReadUnalignedU64 ( const unsigned long long p)

Definition at line 87 of file unaligned.h.

88{
89 unsigned char* p1 = (unsigned char*)p;
90 return (((unsigned long long)p1[0] << 0) |
91 ((unsigned long long)p1[1] << 8) |
92 ((unsigned long long)p1[2] << 16) |
93 ((unsigned long long)p1[3] << 24) |
94 ((unsigned long long)p1[4] << 32) |
95 ((unsigned long long)p1[5] << 40) |
96 ((unsigned long long)p1[6] << 48) |
97 ((unsigned long long)p1[7] << 56));
98}

◆ WriteUnalignedU16()

__forceinline void WriteUnalignedU16 ( unsigned short p,
unsigned short  val 
)

Definition at line 102 of file unaligned.h.

103{
104 unsigned char* p1 = (unsigned char*)p;
105 p1[0] = (unsigned char)(val >> 0);
106 p1[1] = (unsigned char)(val >> 8);
107}
unsigned char
Definition: typeof.h:29
GLuint GLfloat * val
Definition: glext.h:7180

◆ WriteUnalignedU32()

__forceinline void WriteUnalignedU32 ( unsigned long p,
unsigned long  val 
)

Definition at line 111 of file unaligned.h.

112{
113 unsigned char* p1 = (unsigned char*)p;
114 p1[0] = (unsigned char)(val >> 0);
115 p1[1] = (unsigned char)(val >> 8);
116 p1[2] = (unsigned char)(val >> 16);
117 p1[3] = (unsigned char)(val >> 24);
118}

Referenced by co_IntSetWindowLongPtr(), and IntGetSetClassLongPtr().

◆ WriteUnalignedU64()

__forceinline void WriteUnalignedU64 ( unsigned long long p,
unsigned long long  val 
)

Definition at line 122 of file unaligned.h.

123{
124 unsigned char* p1 = (unsigned char*)p;
125 p1[0] = (unsigned char)(val >> 0);
126 p1[1] = (unsigned char)(val >> 8);
127 p1[2] = (unsigned char)(val >> 16);
128 p1[3] = (unsigned char)(val >> 24);
129 p1[4] = (unsigned char)(val >> 32);
130 p1[5] = (unsigned char)(val >> 40);
131 p1[6] = (unsigned char)(val >> 48);
132 p1[7] = (unsigned char)(val >> 56);
133}