move more functions in file.c
[apps/madmutt.git] / lib-lib / url.h
1 /*
2  *  This program is free software; you can redistribute it and/or modify
3  *  it under the terms of the GNU General Public License as published by
4  *  the Free Software Foundation; either version 2 of the License, or (at
5  *  your option) any later version.
6  *
7  *  This program is distributed in the hope that it will be useful, but
8  *  WITHOUT ANY WARRANTY; without even the implied warranty of
9  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
10  *  General Public License for more details.
11  *
12  *  You should have received a copy of the GNU General Public License
13  *  along with this program; if not, write to the Free Software
14  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
15  *  MA 02110-1301, USA.
16  *
17  *  Copyright © 2006 Pierre Habouzit
18  */
19 /*
20  * This file is part of mutt-ng, see http://www.muttng.org/.
21  * It's licensed under the GNU General Public License,
22  * please see the file GPL in the top level source directory.
23  */
24
25 #ifndef MUTT_LIB_LIB_URL_H
26 #define MUTT_LIB_LIB_URL_H
27
28 typedef enum url_scheme {
29     U_FILE,
30     U_POP,
31     U_POPS,
32     U_IMAP,
33     U_IMAPS,
34     U_NNTP,
35     U_NNTPS,
36     U_MAILTO,
37     U_UNKNOWN
38 } url_scheme_t;
39
40 #define U_DECODE_PASSWD (1)
41
42 typedef struct ciss_url {
43     url_scheme_t scheme;
44     char *user;
45     char *pass;
46     char *host;
47     int   port;
48     char *path;
49 } ciss_url_t;
50
51 char *url_decode(char *);
52
53 url_scheme_t url_check_scheme (const char *s);
54 int url_parse_ciss(ciss_url_t *ciss, char *src);
55 int url_ciss_tostring(ciss_url_t *ciss, char *dst, ssize_t len, int flags);
56
57 #endif /* MUTT_LIB_LIB_URL_H */