#include "def.h" #define pq_null ((uint32_t)0xFFFFffff) #include #include typedef enum pq_array_type { pq_array_bool = 0x10, pq_array_int = 0x17, pq_array_text = 0x19, pq_array_inet = 0x365, } pq_array_type; typedef struct pqp_array_elt { uint32_t sz; const char* data; } pqp_array_elt; typedef struct pqp_array { size_t sz; bool nullable; pq_array_type ty; pqp_array_elt elts []; } pqp_array; /* for receiving values from pqp_inet_read */ typedef union pqp_sockstore { struct sockaddr sock; struct sockaddr_in sock_in; struct sockaddr_in6 sock_in6; } pqp_sockstore; struct pqp_array* pqp_array_read(const void* pqary); bool pqp_inet_read(const void* pqinet, struct sockaddr* d);