32 #ifndef GENLIB_NET_URI_H
33 #define GENLIB_NET_URI_H
40 #include <sys/param.h>
51 #include <sys/types.h>
55 #ifndef UPNP_USE_MSVCPP
57 #include "inet_pton.h"
64 #define strncasecmp strnicmp
74 #define HTTP_DATE_LENGTH 37
76 #define SEPARATORS "()<>@,;:\\\"/[]?={} \t"
77 #define MARK "-_.!~*'()"
80 #define RESERVED ";/?:@&=+$,{}"
82 #define HTTP_SUCCESS 1
87 #define SOCKET_BUFFER_SIZE 5000
130 struct sockaddr_storage IPaddress;
139 enum pathType path_type;
394 #define HTTP_E_BAD_URL UPNP_E_INVALID_URL
395 #define HTTP_E_READ_SOCKET UPNP_E_SOCKET_READ
396 #define HTTP_E_BIND_SOCKET UPNP_E_SOCKET_BIND
397 #define HTTP_E_WRITE_SOCKET UPNP_E_SOCKET_WRITE
398 #define HTTP_E_CONNECT_SOCKET UPNP_E_SOCKET_CONNECT
399 #define HTTP_E_SOCKET UPNP_E_OUTOF_SOCKET
400 #define HTTP_E_BAD_RESPONSE UPNP_E_BAD_RESPONSE
401 #define HTTP_E_BAD_REQUEST UPNP_E_BAD_REQUEST
402 #define HTTP_E_BAD_IP_ADDRESS UPNP_E_INVALID_URL
404 #define RESPONSE_TIMEOUT 30
412 typedef struct SOCKET_BUFFER{
413 char buff[SOCKET_BUFFER_SIZE];
415 struct SOCKET_BUFFER *next;
419 typedef struct HTTP_HEADER {
422 struct HTTP_HEADER * next;
426 typedef struct HTTP_STATUS_LINE{
433 typedef struct HTTP_REQUEST_LINE {
443 typedef struct HTTP_MESSAGE {
445 http_request request;
446 http_header * header_list;
471 int transferHTTPparsedURL(
484 void currentTmToHttpDate(
488 int parse_http_response(
494 int parse_http_request(
500 void print_http_message(
501 http_message *message);
504 int search_for_header(
510 void print_status_line(
514 void print_request_line(
541 void free_http_message(
542 http_message *message);