gopher/url.h

64 lines
1.2 KiB
C

#ifndef __url_h__
#define __url_h__
enum {
SCHEME_UNKNOWN = -1,
SCHEME_NONE = 0,
SCHEME_FILE,
SCHEME_FTP,
SCHEME_GOPHER,
SCHEME_HTTP,
SCHEME_HTTPS,
SCHEME_MAILTO,
SCHEME_NEWS,
SCHEME_NNTP,
SCHEME_TELNET
};
typedef struct URLRange {
int location;
int length;
} URLRange;
enum {
URLComponentScheme,
URLComponentUser,
URLComponentPassword,
URLComponentHost,
URLComponentPort,
URLComponentPath,
URLComponentParams,
URLComponentQuery,
URLComponentFragment,
URLComponentPathAndQuery
};
typedef struct URLComponents {
int schemeType;
int portNumber;
URLRange scheme;
URLRange user;
URLRange password;
URLRange host;
URLRange port;
URLRange path;
URLRange params;
URLRange query;
URLRange fragment;
URLRange pathAndQuery;
} URLComponents;
int ParseURL(const char *url, int length, URLComponents *components);
int URLComponentGet(const char *url, URLComponents *, int, char *);
int URLComponentGetC(const char *url, URLComponents *, int, char *);
//int URLComponentGetGS(const char *url, URLComponents *, int, GSString255Ptr);
#endif