ReactOS  0.4.12-dev-43-g63b00d8
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)

◆ in_uint16_be

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

◆ in_uint16_le

◆ in_uint32

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

◆ 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.

Referenced by printercache_process(), and rdpdr_process_irp().

◆ in_uint32_le

◆ in_uint8

◆ in_uint8a

◆ in_uint8p

◆ in_uint8s

◆ next_be

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

Definition at line 97 of file parse.h.

Referenced by ber_parse_header(), and iso_recv_msg().

◆ out_uint16

◆ out_uint16_be

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

◆ out_uint16_le

◆ out_uint32

◆ 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.

Referenced by rdpdr_send_connect(), and sec_out_mcs_data().

◆ out_uint32_le

◆ out_uint8

◆ out_uint8a

◆ out_uint8p

◆ out_uint8s

◆ s_check

◆ s_check_end

◆ s_check_rem

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

◆ s_length

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

Definition at line 45 of file parse.h.

◆ s_mark_end

◆ s_pop_layer

#define s_pop_layer (   s,
  h 
)    (s)->p = (s)->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.

Referenced by channel_init(), iso_init(), mcs_init(), rdp_init_data(), and sec_init().

◆ 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