Home | History | Annotate | Download | only in pxe
      1 /*
      2  * url.h
      3  */
      4 
      5 #ifndef CORE_PXE_URL_H
      6 #define CORE_PXE_URL_H
      7 
      8 #include <stddef.h>
      9 #include <stdint.h>
     10 
     11 enum url_type {
     12     URL_NORMAL,			/* It is a full URL */
     13     URL_OLD_TFTP,		/* It's a ::-style TFTP path */
     14     URL_SUFFIX			/* Prepend the pathname prefix */
     15 };
     16 
     17 struct url_info {
     18     char *scheme;
     19     char *user;
     20     char *passwd;
     21     char *host;
     22     uint32_t ip;		/* Placeholder field not set by parse_url() */
     23     unsigned int port;
     24     char *path;			/* Includes query */
     25     enum url_type type;
     26 };
     27 
     28 enum url_type url_type(const char *url);
     29 void parse_url(struct url_info *ui, char *url);
     30 size_t url_escape_unsafe(char *output, const char *input, size_t bufsize);
     31 char *url_unescape(char *buffer, char terminator);
     32 
     33 #endif /* CORE_PXE_URL_H */
     34