diff options
Diffstat (limited to 'server/query.h')
-rw-r--r-- | server/query.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/server/query.h b/server/query.h new file mode 100644 index 0000000..f4a9376 --- /dev/null +++ b/server/query.h @@ -0,0 +1,42 @@ +#ifndef LINUX_DNBD_REQUEST_H +#define LINUX_DNBD_REQUEST_H 1 + +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <time.h> + +#include "net.h" +#include "filer.h" + +struct query_info { + pthread_t p_thread; + net_info_t *net_info; + filer_info_t *filer_info; + int id; +}; + +typedef struct query_info query_info_t; + +/* query information for requests and replies */ +struct query { + time_t time; + net_request_t request; + net_reply_t reply; +}; + +typedef struct query query_t; + +/* functions */ +query_info_t *query_init(net_info_t *, filer_info_t *, int id, int threads); + +/* host to network byte order */ +#include <endian.h> +#if __BYTE_ORDER == __BIG_ENDIAN +#define htonll(x) (x) +#else +#define htonll(x) bswap_64(x) +#endif + + +#endif |