Handle unaligned data access. More...

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) |
Handle unaligned data access.
Definition in file unaligned.h.
| static unsigned short get_unaligned_uint16 | ( | const void * | p | ) | [inline, static] |
Definition at line 44 of file unaligned.h.
Referenced by ast_websocket_read(), 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.
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.
Referenced by ast_websocket_read(), 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.
Referenced by ast_websocket_close(), and ast_websocket_write().
{
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.
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.
Referenced by ast_websocket_write(), and iax_ie_append_versioned_uint64().
{
struct { uint64_t d; } __attribute__((packed,may_alias)) *pp = p;
pp->d = datum;
}