leo_sobral@2: /** leo_sobral@2: * leo_sobral@2: * MythURI utils leo_sobral@2: * - Extracts and parses a URI char string, in according with the RFC 2396 leo_sobral@2: * [http://www.ietf.org/rfc/rfc2396.txt] leo_sobral@2: * leo_sobral@2: * @author Rosfran Borges (rosfran.borges@indt.org.br) leo_sobral@2: * leo_sobral@2: */ leo_sobral@2: leo_sobral@2: #ifndef _MYTH_URI_H_ leo_sobral@2: #define _MYTH_URI_H_ leo_sobral@2: leo_sobral@2: #include leo_sobral@2: leo_sobral@2: /**************************************** leo_sobral@2: * Define leo_sobral@2: ****************************************/ leo_sobral@2: leo_sobral@2: #define MYTH_URI_KNKOWN_PORT (-1) leo_sobral@2: #define MYTH_URI_DEFAULT_HTTP_PORT 80 leo_sobral@2: #define MYTH_URI_DEFAULT_FTP_PORT 21 leo_sobral@2: #define MYTH_URI_DEFAULT_PATH "/" leo_sobral@2: #define MYTH_URI_MAXLEN 256 leo_sobral@2: leo_sobral@2: #define MYTH_URI_PROTOCOL_DELIM "://" leo_sobral@2: #define MYTH_URI_USER_DELIM "@" leo_sobral@2: #define MYTH_URI_COLON_DELIM ":" leo_sobral@2: #define MYTH_URI_SLASH_DELIM "/" leo_sobral@2: #define MYTH_URI_SBLACET_DELIM "[" leo_sobral@2: #define MYTH_URI_EBLACET_DELIM "]" leo_sobral@2: #define MYTH_URI_SHARP_DELIM "#" leo_sobral@2: #define MYTH_URI_QUESTION_DELIM "?" leo_sobral@2: #define MYTH_URI_ESCAPING_CHAR "%" leo_sobral@2: leo_sobral@2: #define MYTH_URI_PROTOCOL_MYTH "myth" leo_sobral@2: #define MYTH_URI_PROTOCOL_HTTP "http" leo_sobral@2: #define MYTH_URI_PROTOCOL_FTP "ftp" leo_sobral@2: leo_sobral@2: /**************************************** leo_sobral@2: * Data Type leo_sobral@2: ****************************************/ leo_sobral@2: leo_sobral@2: typedef struct _MythURI { leo_sobral@2: GString *uri; leo_sobral@2: GString *host; leo_sobral@2: gint port; leo_sobral@2: GString *protocol; leo_sobral@2: GString *path; leo_sobral@2: GString *fragment; leo_sobral@2: GString *user; leo_sobral@2: GString *password; leo_sobral@2: GString *query; leo_sobral@2: } MythURI; leo_sobral@2: leo_sobral@2: const MythURI *myth_uri_new( gchar *value ); leo_sobral@2: leo_sobral@2: #define myth_uri_gethost(urip) (urip->host->str) leo_sobral@2: #define myth_uri_getport(urip) (urip->port) leo_sobral@2: #define myth_uri_getprotocol(urip) (urip->protocol->str) leo_sobral@2: #define myth_uri_getpath(urip) (urip->path->str) leo_sobral@2: leo_sobral@2: #endif