103         error(errno, 
"Couldn't re-open access logfile `%s'.", 
filename);
   129 void alog_open(
char *fname, 
int use_localtm, 
int use_markers)
   137         warning(0, 
"Opening an already opened access log");
   140     if (strlen(fname) > FILENAME_MAX) {
   141         error(0, 
"Access Log filename too long: `%s', cannot open.", fname);
   148     f = fopen(fname, 
"a");
   150         error(errno, 
"Couldn't open logfile `%s'.", fname);
   173 #define FORMAT_SIZE (10*1024)   174 static void format(
char *buf, 
const char *fmt)
   178     char *p, prefix[1024];
   189         sprintf(p, 
"%04d-%02d-%02d %02d:%02d:%02d ",
   190                 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
   191                 tm.tm_hour, tm.tm_min, tm.tm_sec);
   196     if (strlen(prefix) + strlen(fmt) > 
FORMAT_SIZE / 2) {
   197         sprintf(buf, 
"%s <OUTPUT message too long>\n", prefix);
   200     sprintf(buf, 
"%s%s\n", prefix, fmt);
   206 void alog(
const char *fmt, ...)
   221     vfprintf(
file, buf, args);
 void error(int err, const char *fmt,...)
 
void info(int err, const char *fmt,...)
 
struct tm gw_gmtime(time_t t)
 
static char filename[FILENAME_MAX+1]
 
static void format(char *buf, const char *fmt)
 
void gwlist_unlock(List *list)
 
void alog_use_gmtime(void)
 
void gwlist_remove_producer(List *list)
 
void alog_use_localtime(void)
 
void warning(int err, const char *fmt,...)
 
void alog_open(char *fname, int use_localtm, int use_markers)
 
void gwlist_lock(List *list)
 
void * gwlist_consume(List *list)
 
void alog(const char *fmt,...)
 
struct tm gw_localtime(time_t t)
 
void gwlist_add_producer(List *list)
 
void gwlist_destroy(List *list, gwlist_item_destructor_t *destructor)