33 #ifndef GENLIB_NET_URI_H
34 #define GENLIB_NET_URI_H
42 #include <sys/param.h>
56 #include <sys/socket.h>
58 #include <sys/types.h>
64 #include <arpa/inet.h>
70 #define strncasecmp strnicmp
81 #define HTTP_DATE_LENGTH 37 // length for HTTP DATE:
83 #define SEPARATORS "()<>@,;:\\\"/[]?={} \t"
84 #define MARK "-_.!~*'()"
85 #define RESERVED ";/?:@&=+$,{}" //added {} for compatibility
86 #define HTTP_SUCCESS 1
93 #define SOCKET_BUFFER_SIZE 5000
141 struct sockaddr_storage IPaddress;
151 enum pathType path_type;
428 #define HTTP_E_BAD_URL UPNP_E_INVALID_URL
429 #define HTTP_E_READ_SOCKET UPNP_E_SOCKET_READ
430 #define HTTP_E_BIND_SOCKET UPNP_E_SOCKET_BIND
431 #define HTTP_E_WRITE_SOCKET UPNP_E_SOCKET_WRITE
432 #define HTTP_E_CONNECT_SOCKET UPNP_E_SOCKET_CONNECT
433 #define HTTP_E_SOCKET UPNP_E_OUTOF_SOCKET
434 #define HTTP_E_BAD_RESPONSE UPNP_E_BAD_RESPONSE
435 #define HTTP_E_BAD_REQUEST UPNP_E_BAD_REQUEST
436 #define HTTP_E_BAD_IP_ADDRESS UPNP_E_INVALID_URL
438 #define RESPONSE_TIMEOUT 30
446 typedef struct SOCKET_BUFFER{
447 char buff[SOCKET_BUFFER_SIZE];
449 struct SOCKET_BUFFER *next;
453 typedef struct HTTP_HEADER {
456 struct HTTP_HEADER * next;
460 typedef struct HTTP_STATUS_LINE{
467 typedef struct HTTP_REQUEST_LINE {
477 typedef struct HTTP_MESSAGE {
479 http_request request;
480 http_header * header_list;
505 int transferHTTPparsedURL(
518 void currentTmToHttpDate(
522 int parse_http_response(
528 int parse_http_request(
534 void print_http_message(
535 http_message *message);
538 int search_for_header(
544 void print_status_line(
548 void print_request_line(
575 void free_http_message(
576 http_message *message);