FreeBSD/sys/security/audit/bsm_token.c
/*
 * token ID                1 byte
 * size                    2 bytes
 * data                    size bytes
 */
token ID                1 byte
size                    2 bytes
data                    size bytes
token ID 1 byte size 2 bytes data size bytes
token_t *
au_to_opaque(const char *data, u_int16_t bytes)
{
	token_t *t;
	u_char *dptr = NULL;
	GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int16_t) + bytes);
	ADD_U_CHAR(dptr, AUT_OPAQUE);
	ADD_U_INT16(dptr, bytes);
	ADD_MEM(dptr, data, bytes);
	return (t);
}
token_t * au_to_opaque ( const char * data , u_int16_t bytes ) { token_t * t ; u_char * dptr = NULL ; GET_TOKEN_AREA ( t , dptr , sizeof ( u_char ) + sizeof ( u_int16_t ) + bytes ) ; ADD_U_CHAR ( dptr , AUT_OPAQUE ) ; ADD_U_INT16 ( dptr , bytes ) ; ADD_MEM ( dptr , data , bytes ) ; return ( t ) ; }
token ID                1 byte
 size                    2 bytes
 data                    size bytes
token ID 1 byte size 2 bytes data size bytes