#ifndef _PKT_UTIL_H_27cd85fe_ #define _PKT_UTIL_H_27cd85fe_ /* This file is in the public domain. */ #include #include typedef struct pktq PKTQ; typedef struct pktqe PKTQE; #include "bpp.h" struct pktqe { PKTQE *link; int len; unsigned char data[0]; } ; struct pktq { PKTQE *head; PKTQE **tailp; } ; extern unsigned int get_uint32(const void *); extern void *put_uint32(void *, unsigned int); extern void fput_uint32(FILE *, unsigned int); extern void *put_string(void *, const void *, int); extern void fput_string(FILE *, const void *, int); extern void *put_block(void *, const void *, int); extern void *put_mpint(void *, MP_INT *); extern void *put_bool(void *, int); extern int mpint_bytes(MP_INT *); extern void pp_fail(BPP *, const void *, const char *, ...); extern void pp_vfail(BPP *, const void *, const char *, va_list); extern void data_to_mpint(MP_INT *, const void *, int); extern void mpint_to_data(MP_INT *, void *, int); extern void pktq_init(PKTQ *); extern void pktq_put(PKTQ *, const void *, int); extern int pktq_get(PKTQ *, void *, int *, int); extern void badmsg(const char *, const char *, ...) __attribute__((__format__(__printf__,2,3),__noreturn__)); #endif