#include "def.h"
#define pq_null ((uint32_t)0xFFFFffff)
#include <sys/socket.h>
#include <netinet/in.h>
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);