Mon Mar 12 2012 21:46:47

Asterisk developer's documentation


unaligned.h File Reference

Handle unaligned data access. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

static unsigned short get_unaligned_uint16 (const void *p)
static unsigned int get_unaligned_uint32 (const void *p)
static uint64_t get_unaligned_uint64 (const void *p)
static void put_unaligned_uint16 (void *p, unsigned short datum)
static void put_unaligned_uint32 (void *p, unsigned int datum)
static void put_unaligned_uint64 (void *p, uint64_t datum)

Detailed Description

Handle unaligned data access.

Definition in file unaligned.h.


Function Documentation

static unsigned short get_unaligned_uint16 ( const void *  p) [inline, static]

Definition at line 44 of file unaligned.h.

References pp.

Referenced by dump_short(), and iax_parse_ies().

{
   const struct { unsigned short d; } __attribute__((packed)) *pp = p;

   return pp->d;
}
static unsigned int get_unaligned_uint32 ( const void *  p) [inline, static]

Definition at line 38 of file unaligned.h.

References pp.

Referenced by ast_event_get_ie_bitflags(), ast_event_get_ie_uint(), ast_event_iterator_get_ie_bitflags(), ast_event_iterator_get_ie_uint(), dump_datetime(), dump_int(), dump_prov_flags(), and iax_parse_ies().

{
   const struct { unsigned int d; } __attribute__((packed)) *pp = p;

   return pp->d;
}
static uint64_t get_unaligned_uint64 ( const void *  p) [inline, static]

Definition at line 32 of file unaligned.h.

References pp.

Referenced by dump_versioned_codec(), and iax_parse_ies().

{
   const struct { uint64_t d; } __attribute__((packed)) *pp = p;
   return pp->d;
}
static void put_unaligned_uint16 ( void *  p,
unsigned short  datum 
) [inline, static]

Definition at line 65 of file unaligned.h.

References pp.

{
   struct { unsigned short d; } __attribute__((packed)) *pp = p;

   pp->d = datum;
}
static void put_unaligned_uint32 ( void *  p,
unsigned int  datum 
) [inline, static]

Definition at line 58 of file unaligned.h.

References pp.

Referenced by ast_rtp_raw_write(), and multicast_rtp_write().

{
   struct { unsigned int d; } __attribute__((packed)) *pp = p;

   pp->d = datum;
}
static void put_unaligned_uint64 ( void *  p,
uint64_t  datum 
) [inline, static]

Definition at line 51 of file unaligned.h.

References pp.

Referenced by iax_ie_append_versioned_uint64().

{
   struct { uint64_t d; } __attribute__((packed,may_alias)) *pp = p;

   pp->d = datum;
}