You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
#ifndef vger_h_INCLUDED |
|
#define vger_h_INCLUDED |
|
|
|
/* length of "gemini://" */ |
|
#define GEMINI_PART 9 |
|
|
|
/* |
|
* number of bytes to read with fgets() : 2014 + 1. |
|
* fgets() reads at most size-1 (1024 here). |
|
* See https://gemini.circumlunar.space/docs/specification.html. |
|
*/ |
|
#define GEMINI_REQUEST_MAX 1025 |
|
|
|
/* global vars */ |
|
static int _retcode = 0; |
|
static ssize_t _datasiz = 0; |
|
static char _request[GEMINI_REQUEST_MAX] = {'\0'}; |
|
|
|
/* functions */ |
|
ssize_t autoindex(const char *); |
|
void cgi(const char *); |
|
char * check_request(char *); |
|
void check_path(char *, size_t, const char *, int); |
|
ssize_t display_file(const char *); |
|
int do_cgi(const char *, const char *, const char *, const char *, const char *); |
|
void drop_privileges(const char *, const char *, const char *); |
|
void get_dir_file(char *, char *, size_t, char *, size_t); |
|
char * get_hostname(const char *, char *, size_t); |
|
char * get_path(const char *, char *, size_t, int, const char *); |
|
char * get_query(char *, char *, size_t); |
|
void status(const int, const char *, ...); |
|
void strip_trailing_slash(char *); |
|
int uridecode (char *); |
|
void stop(const int, const char *, ...); |
|
|
|
#endif // vger_h_INCLUDED |
|
|
|
|