1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-11-03 04:17:17 -05:00
icecast-server/src/client.h

43 lines
1003 B
C
Raw Normal View History

/* client.h
**
** client data structions and function definitions
**
*/
#ifndef __CLIENT_H__
#define __CLIENT_H__
#include "connection.h"
#include "refbuf.h"
#include "httpp/httpp.h"
typedef struct _client_tag
{
/* the client's connection */
connection_t *con;
/* the client's http headers */
http_parser_t *parser;
/* http response code for this client */
int respcode;
/* buffer queue */
refbuf_queue_t *queue;
/* position in first buffer */
unsigned long pos;
/* Client username, if authenticated */
char *username;
/* Format-handler-specific data for this client */
void *format_data;
} client_t;
client_t *client_create(connection_t *con, http_parser_t *parser);
void client_destroy(client_t *client);
void client_send_504(client_t *client, char *message);
void client_send_404(client_t *client, char *message);
void client_send_401(client_t *client);
void client_send_400(client_t *client, char *message);
#endif /* __CLIENT_H__ */