ReactOS  0.4.13-dev-52-g0efcfec
parse.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  stream
 

Macros

#define s_push_layer(s, h, n)   { (s)->h = (s)->p; (s)->p += n; }
 
#define s_pop_layer(s, h)   (s)->p = (s)->h;
 
#define s_mark_end(s)   (s)->end = (s)->p;
 
#define s_check(s)   ((s)->p <= (s)->end)
 
#define s_check_rem(s, n)   ((s)->p + n <= (s)->end)
 
#define s_check_end(s)   ((s)->p == (s)->end)
 
#define s_length(s)   ((s)->end - (s)->data)
 
#define s_reset(s)   ((s)->end = (s)->p = (s)->data)
 
#define in_uint16_le(s, v)   { v = *((s)->p++); v += *((s)->p++) << 8; }
 
#define in_uint32_le(s, v)
 
#define out_uint16_le(s, v)   { *((s)->p++) = (v) & 0xff; *((s)->p++) = ((v) >> 8) & 0xff; }
 
#define out_uint32_le(s, v)   { out_uint16_le(s, (v) & 0xffff); out_uint16_le(s, ((v) >> 16) & 0xffff); }
 
#define in_uint16_be(s, v)   { v = *((s)->p++); next_be(s,v); }
 
#define in_uint32_be(s, v)   { in_uint16_be(s,v); next_be(s,v); next_be(s,v); }
 
#define out_uint16_be(s, v)   { *((s)->p++) = ((v) >> 8) & 0xff; *((s)->p++) = (v) & 0xff; }
 
#define out_uint32_be(s, v)   { out_uint16_be(s, ((v) >> 16) & 0xffff); out_uint16_be(s, (v) & 0xffff); }
 
#define in_uint16(s, v)   in_uint16_le(s,v)
 
#define in_uint32(s, v)   in_uint32_le(s,v)
 
#define out_uint16(s, v)   out_uint16_le(s,v)
 
#define out_uint32(s, v)   out_uint32_le(s,v)
 
#define in_uint8(s, v)   v = *((s)->p++);
 
#define in_uint8p(s, v, n)   { v = (s)->p; (s)->p += n; }
 
#define in_uint8a(s, v, n)   { memcpy(v,(s)->p,n); (s)->p += n; }
 
#define in_uint8s(s, n)   (s)->p += n;
 
#define out_uint8(s, v)   *((s)->p++) = v;
 
#define out_uint8p(s, v, n)   { memcpy((s)->p,v,n); (s)->p += n; }
 
#define out_uint8a(s, v, n)   out_uint8p(s,v,n);
 
#define out_uint8s(s, n)   { memset((s)->p,0,n); (s)->p += n; }
 
#define next_be(s, v)   v = ((v) << 8) + *((s)->p++);
 

Typedefs

typedef struct streamSTREAM
 

Macro Definition Documentation

◆ in_uint16

#define in_uint16 (   s,
  v 
)    in_uint16_le(s,v)

Definition at line 82 of file parse.h.

◆ in_uint16_be

#define in_uint16_be (   s,
  v 
)    { v = *((s)->p++); next_be(s,v); }

Definition at line 75 of file parse.h.

◆ in_uint16_le

#define in_uint16_le (   s,
  v 
)    { v = *((s)->p++); v += *((s)->p++) << 8; }

Definition at line 55 of file parse.h.

◆ in_uint32

#define in_uint32 (   s,
  v 
)    in_uint32_le(s,v)

Definition at line 83 of file parse.h.

◆ in_uint32_be

#define in_uint32_be (   s,
  v 
)    { in_uint16_be(s,v); next_be(s,v); next_be(s,v); }

Definition at line 76 of file parse.h.

◆ in_uint32_le

#define in_uint32_le (   s,
  v 
)
Value:
v += *((s)->p++) << 16; v += *((s)->p++) << 24; }
GLdouble s
Definition: gl.h:2039
const GLdouble * v
Definition: gl.h:2040
GLfloat GLfloat p
Definition: glext.h:8902
#define in_uint16_le(s, v)
Definition: parse.h:55

Definition at line 56 of file parse.h.

◆ in_uint8

#define in_uint8 (   s,
  v 
)    v = *((s)->p++);

Definition at line 88 of file parse.h.

◆ in_uint8a

#define in_uint8a (   s,
  v,
  n 
)    { memcpy(v,(s)->p,n); (s)->p += n; }

Definition at line 90 of file parse.h.

◆ in_uint8p

#define in_uint8p (   s,
  v,
  n 
)    { v = (s)->p; (s)->p += n; }

Definition at line 89 of file parse.h.

◆ in_uint8s

#define in_uint8s (   s,
  n 
)    (s)->p += n;

Definition at line 91 of file parse.h.

◆ next_be

#define next_be (   s,
  v 
)    v = ((v) << 8) + *((s)->p++);

Definition at line 97 of file parse.h.

◆ out_uint16

#define out_uint16 (   s,
  v 
)    out_uint16_le(s,v)

Definition at line 84 of file parse.h.

◆ out_uint16_be

#define out_uint16_be (   s,
  v 
)    { *((s)->p++) = ((v) >> 8) & 0xff; *((s)->p++) = (v) & 0xff; }

Definition at line 77 of file parse.h.

◆ out_uint16_le

#define out_uint16_le (   s,
  v 
)    { *((s)->p++) = (v) & 0xff; *((s)->p++) = ((v) >> 8) & 0xff; }

Definition at line 58 of file parse.h.

◆ out_uint32

#define out_uint32 (   s,
  v 
)    out_uint32_le(s,v)

Definition at line 85 of file parse.h.

◆ out_uint32_be

#define out_uint32_be (   s,
  v 
)    { out_uint16_be(s, ((v) >> 16) & 0xffff); out_uint16_be(s, (v) & 0xffff); }

Definition at line 78 of file parse.h.

◆ out_uint32_le

#define out_uint32_le (   s,
  v 
)    { out_uint16_le(s, (v) & 0xffff); out_uint16_le(s, ((v) >> 16) & 0xffff); }

Definition at line 59 of file parse.h.

◆ out_uint8

#define out_uint8 (   s,
  v 
)    *((s)->p++) = v;

Definition at line 92 of file parse.h.

◆ out_uint8a

#define out_uint8a (   s,
  v,
  n 
)    out_uint8p(s,v,n);

Definition at line 94 of file parse.h.

◆ out_uint8p

#define out_uint8p (   s,
  v,
  n 
)    { memcpy((s)->p,v,n); (s)->p += n; }

Definition at line 93 of file parse.h.

◆ out_uint8s

#define out_uint8s (   s,
  n 
)    { memset((s)->p,0,n); (s)->p += n; }

Definition at line 95 of file parse.h.

◆ s_check

#define s_check (   s)    ((s)->p <= (s)->end)

Definition at line 42 of file parse.h.

◆ s_check_end

#define s_check_end (   s)    ((s)->p == (s)->end)

Definition at line 44 of file parse.h.

◆ s_check_rem

#define s_check_rem (   s,
  n 
)    ((s)->p + n <= (s)->end)

Definition at line 43 of file parse.h.

◆ s_length

#define s_length (   s)    ((s)->end - (s)->data)

Definition at line 45 of file parse.h.

◆ s_mark_end

#define s_mark_end (   s)    (s)->end = (s)->p;

Definition at line 41 of file parse.h.

◆ s_pop_layer

#define s_pop_layer (   s,
  h 
)    (s)->p = (s)->h;

Definition at line 40 of file parse.h.

◆ s_push_layer

#define s_push_layer (   s,
  h,
  n 
)    { (s)->h = (s)->p; (s)->p += n; }

Definition at line 39 of file parse.h.

◆ s_reset

#define s_reset (   s)    ((s)->end = (s)->p = (s)->data)

Definition at line 46 of file parse.h.

Typedef Documentation

◆ STREAM

typedef struct stream * STREAM