fserve.h 1.11 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
/* Icecast
 *
 * This program is distributed under the GNU General Public License, version 2.
 * A copy of this license is included with this source.
 *
 * Copyright 2000-2004, Jack Moffitt <jack@xiph.org, 
 *                      Michael Smith <msmith@xiph.org>,
 *                      oddsock <oddsock@xiph.org>,
 *                      Karl Heyes <karl@xiph.org>
 *                      and others (see AUTHORS for details).
 */

13 14 15 16
#ifndef __FSERVE_H__
#define __FSERVE_H__

#include <stdio.h>
17
#include "cfgfile.h"
18

19 20
typedef void (*fserve_callback_t)(client_t *, void *);

21
typedef struct _fserve_t
22 23 24 25
{
    client_t *client;

    FILE *file;
26
    int ready;
27 28
    void (*callback)(client_t *, void *);
    void *arg;
29
    struct _fserve_t *next;
30 31 32 33
} fserve_t;

void fserve_initialize(void);
void fserve_shutdown(void);
34
int fserve_client_create(client_t *httpclient, const char *path);
35
int fserve_add_client (client_t *client, FILE *file);
36
void fserve_add_client_callback (client_t *client, fserve_callback_t callback, void *arg);
37
char *fserve_content_type (const char *path);
38
void fserve_recheck_mime_types (ice_config_t *config);
39 40 41 42 43


#endif