/* 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 , * oddsock , * Karl Heyes * and others (see AUTHORS for details). * Copyright 2011-2018, Philipp "ph3-der-loewe" Schafft , */ #ifndef __ADMIN_H__ #define __ADMIN_H__ #include #include /* formats */ typedef enum { ADMIN_FORMAT_AUTO, ADMIN_FORMAT_RAW, ADMIN_FORMAT_TRANSFORMED, ADMIN_FORMAT_PLAINTEXT } admin_format_t; #include "refbuf.h" #include "client.h" #include "source.h" #include "auth.h" /* types */ #define ADMINTYPE_ERROR (-1) #define ADMINTYPE_GENERAL 1 #define ADMINTYPE_MOUNT 2 #define ADMINTYPE_HYBRID (ADMINTYPE_GENERAL|ADMINTYPE_MOUNT) /* special commands */ #define ADMIN_COMMAND_ERROR (-1) #define ADMIN_COMMAND_ANY 0 /* for ACL framework */ void admin_handle_request(client_t *client, const char *uri); void admin_send_response(xmlDocPtr doc, client_t *client, admin_format_t response, const char *xslt_template); void admin_add_listeners_to_mount(source_t *source, xmlNodePtr parent, operation_mode mode); xmlNodePtr admin_add_role_to_authentication(auth_t *auth, xmlNodePtr parent); int admin_get_command(const char *command); int admin_get_command_type(int command); #endif /* __ADMIN_H__ */