/* * Prototypes */ const char * add_dispatch_agent(cmd_parms *cmd, void *mconfig, char *type); const char * add_mp3_accept(cmd_parms *cmd, void *mconfig, char *value); const char * add_mp3_deny(cmd_parms *cmd, void *mconfig, char *value); const char * set_limit_connections(cmd_parms *cmd, void *mconfig, char *value); const char * set_limit_bytespertrack(cmd_parms *cmd, void *mconfig, char *value); const char * add_default_op(cmd_parms *cmd, void *mconfig, char *param, char *type); const char * add_log(cmd_parms *cmd, void *mconfig, char *filename); const char * add_mp3(cmd_parms *cmd, void *mconfig, char *param); const char * add_stream(cmd_parms *cmd, void *mconfig, char *param); const char * add_mp3_playlist(cmd_parms *cmd, void *mconfig, char *param); const char * enable_cache(cmd_parms *cmd, void *mconfig, int flag); void send_icecast_headers(request_rec *r, mp3_conf* cfg, request_data *request); const char * get_udp_message(pool *p, const char *name, const char *artist, const char *url, const char *title); void send_udp_message(request_rec *r, int port, const char *message); mp3_data * mp3_create_content(pool *p, char *filename, char *name, char *signature, int flag); int load_playlist(pool *p, mp3_conf *cfg, char *file, int cache_enabled); int load_file(pool *p, mp3_conf *cfg, char *file, char *name, int cache_enabled); int load_directory(pool *p, mp3_conf *cfg, char *param); void send_shout_headers(request_rec *r, mp3_conf* cfg, request_data *request); int shout_write(request_rec *r, unsigned char c, const char *title, const char *artist, const char *url, int *flag); int mp3_match(const char *s1, const char *s2); char * escape_xml(pool *p, const char *s); const char * make_basename(request_rec *r); void cleanup_scoreboard(void *data); void cleanup_file(void *data); int register_connection(request_rec *r, mp3_server_conf *scfg, int limit, int type); void connection_set_file(request_rec *r, mp3_server_conf *scfg, char *file, char * title); array_header * get_songs(pool *p, table * t); table * parse_args(request_rec *r); void table_list(char *string, table * t); void send_ogg_headers(request_rec *r, mp3_conf* cfg, request_data *request); mp3_scoreboard * get_scoreboard(int shmid); int get_id3_tag(pool *p, int fd, mp3_data *bank); void write_log(request_rec *r, mp3_conf *cfg, request_data *info, mp3_data *bank); void * internal_create(pool *p); int internal_request(void *info, void *passcfg, pool *p); mp3_data * internal_get(void *info, pool *p, char *filename); int internal_set(void *info, pool *p, mp3_data *file); mp3_data * internal_each(void *info, pool *p, array_header *files, const char *token, int random); int internal_count(void *info, pool *p, array_header *files, const char *token); array_header * internal_search(void *info, pool *p, const char *pattern, int limit); FILE *open_content(request_rec* r, mp3_conf* cfg, mp3_data* content);