#ifndef EILDUSCD_CONNECTION_H #define EILDUSCD_CONNECTION_H typedef struct { int fd; char *buffer; int fill; int size; char seen_cr; } ildus_connection_t; typedef struct { int code; /* Indicates if it was a multiline message */ int long_msg; char *msg; /* In case of a long message */ char *head_msg; char **data; } ildus_message_t; typedef enum { ILDUS_CONNECTION_CONNECTION_NO_ERROR, ILDUS_CONNECTION_CONNECTION_READ_ERROR, ILDUS_CONNECTION_CONNECTION_BUFFER_OVERFLOW, ILDUS_CONNECTION_UNRESOLVED_HOST_ERROR, ILDUS_CONNECTION_FAILED, ILDUS_CONNECTION_MALFORMED_REPLY, } ildus_connection_error_t; ildus_connection_t * new_ildus_connection(char *name, int port, ildus_connection_error_t *error); void del_ildus_connection(ildus_connection_t *c); ildus_message_t * ildus_connection_get_message(ildus_connection_t *c, ildus_connection_error_t *error); int ildus_connection_send(ildus_connection_t *c, char *data); void del_ildus_message(ildus_message_t *m); #endif