xdas_wire.h File Reference

OpenXDAS wire buffer insertion and extraction routines. More...

#include "xdas_base.h"
#include <stddef.h>

Go to the source code of this file.

Defines

Buffer extraction and insertion macros.
These macros safely extract 16, 24, and 32-bit values from and insert them into raw wire buffers, regardless of machine endian-ness, or hardware alignment strictness.

The do so by reading and writing a byte at a time which defeats alignment issues, and building the value by bit-shifting, which doesn't care about endian-ness. Buffer values are assumed to be in network byte order (big-endian) format.

#define AS_UINT16(p)
 Extract an unsigned 16-bit quantity from a wire buffer.
#define AS_UINT24(p)
 Extract an unsigned 24-bit quantity from a wire buffer.
#define AS_UINT32(p)
 Extract an unsigned 32-bit quantity from a wire buffer.
#define TO_UINT16(p, v)
 Insert an unsigned 16-bit quantity into a wire buffer.
#define TO_UINT24(p, v)
 Insert an unsigned 24-bit quantity into a wire buffer.
#define TO_UINT32(p, v)
 Insert an unsigned 32-bit quantity into a wire buffer.

Functions

uint16_t xdas_get_uint16 (char **cpp)
 Extract a 16-bit big-endian buffer value into a native 16-bit word.
uint32_t xdas_get_uint24 (char **cpp)
 Extract a 24-bit big-endian buffer value into a native 32-bit word.
uint32_t xdas_get_uint32 (char **cpp)
 Extract a 32-bit big-endian buffer value into a native 32-bit word.
void xdas_put_uint16 (char **cpp, size_t val)
 Insert a 16-bit native word into a buffer in big-endian format.
void xdas_put_uint24 (char **cpp, size_t val)
 Insert a 24-bit native word into a buffer in big-endian format.
void xdas_put_uint32 (char **cpp, size_t val)
 Insert a 32-bit native word into a buffer in big-endian format.


Detailed Description

OpenXDAS wire buffer insertion and extraction routines.

Includes structures, constants and functions that used to handle memory allocation for xdasd event message buffers.

Author:
John Calcote (jcalcote@novell.com)
Attention:
Please submit patches to http://openxdas.sourceforge.net

Definition in file xdas_wire.h.


Generated on Thu Aug 20 22:33:06 2009 for OpenXDAS by  doxygen 1.5.6