src/lib/xmmsipc/msg.c File Reference

#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <time.h>
#include "xmmsc/xmmsc_ipc_transport.h"
#include "xmmsc/xmmsc_ipc_msg.h"
#include "xmmsc/xmmsc_util.h"
#include "xmmsc/xmmsc_sockets.h"
#include "xmmsc/xmmsc_stdint.h"
#include "xmmsc/xmmsc_coll.h"

Go to the source code of this file.

Functions

void xmms_ipc_append_coll_attr (const char *key, const char *value, void *userdata)
void xmms_ipc_count_coll_attr (const char *key, const char *value, void *userdata)
xmms_ipc_msg_txmms_ipc_msg_alloc (void)
xmms_ipc_msg_txmms_ipc_msg_new (uint32_t object, uint32_t cmd)
void xmms_ipc_msg_destroy (xmms_ipc_msg_t *msg)
void xmms_ipc_msg_set_length (xmms_ipc_msg_t *msg, uint32_t len)
uint32_t xmms_ipc_msg_get_length (const xmms_ipc_msg_t *msg)
uint32_t xmms_ipc_msg_get_object (const xmms_ipc_msg_t *msg)
void xmms_ipc_msg_set_object (xmms_ipc_msg_t *msg, uint32_t object)
uint32_t xmms_ipc_msg_get_cmd (const xmms_ipc_msg_t *msg)
void xmms_ipc_msg_set_cmd (xmms_ipc_msg_t *msg, uint32_t cmd)
void xmms_ipc_msg_set_cookie (xmms_ipc_msg_t *msg, uint32_t cookie)
uint32_t xmms_ipc_msg_get_cookie (const xmms_ipc_msg_t *msg)
bool xmms_ipc_msg_write_transport (xmms_ipc_msg_t *msg, xmms_ipc_transport_t *transport, bool *disconnected)
 Try to write message to transport.
bool xmms_ipc_msg_read_transport (xmms_ipc_msg_t *msg, xmms_ipc_transport_t *transport, bool *disconnected)
 Try to read message from transport into msg.
uint32_t xmms_ipc_msg_put_bin (xmms_ipc_msg_t *msg, const unsigned char *data, unsigned int len)
uint32_t xmms_ipc_msg_put_uint32 (xmms_ipc_msg_t *msg, uint32_t v)
void xmms_ipc_msg_store_uint32 (xmms_ipc_msg_t *msg, uint32_t offset, uint32_t v)
uint32_t xmms_ipc_msg_put_int32 (xmms_ipc_msg_t *msg, int32_t v)
uint32_t xmms_ipc_msg_put_float (xmms_ipc_msg_t *msg, float v)
uint32_t xmms_ipc_msg_put_string (xmms_ipc_msg_t *msg, const char *str)
uint32_t xmms_ipc_msg_put_string_list (xmms_ipc_msg_t *msg, const char *strings[])
uint32_t xmms_ipc_msg_put_collection (xmms_ipc_msg_t *msg, xmmsc_coll_t *coll)
bool xmms_ipc_msg_get_uint32 (xmms_ipc_msg_t *msg, uint32_t *v)
bool xmms_ipc_msg_get_int32 (xmms_ipc_msg_t *msg, int32_t *v)
bool xmms_ipc_msg_get_float (xmms_ipc_msg_t *msg, float *v)
bool xmms_ipc_msg_get_string_alloc (xmms_ipc_msg_t *msg, char **buf, unsigned int *len)
bool xmms_ipc_msg_get_bin_alloc (xmms_ipc_msg_t *msg, unsigned char **buf, unsigned int *len)
bool xmms_ipc_msg_get_string (xmms_ipc_msg_t *msg, char *buf, unsigned int maxlen)
bool xmms_ipc_msg_get_collection_alloc (xmms_ipc_msg_t *msg, xmmsc_coll_t **coll)


Function Documentation

void xmms_ipc_append_coll_attr ( const char *  key,
const char *  value,
void *  userdata 
)

Definition at line 51 of file msg.c.

Referenced by xmms_ipc_msg_put_collection().

void xmms_ipc_count_coll_attr ( const char *  key,
const char *  value,
void *  userdata 
)

Definition at line 58 of file msg.c.

Referenced by xmms_ipc_msg_put_collection().

xmms_ipc_msg_t* xmms_ipc_msg_alloc ( void   ) 

Definition at line 65 of file msg.c.

Referenced by xmms_ipc_msg_new().

void xmms_ipc_msg_destroy ( xmms_ipc_msg_t msg  ) 

Definition at line 91 of file msg.c.

bool xmms_ipc_msg_get_bin_alloc ( xmms_ipc_msg_t msg,
unsigned char **  buf,
unsigned int *  len 
)

Definition at line 523 of file msg.c.

uint32_t xmms_ipc_msg_get_cmd ( const xmms_ipc_msg_t msg  ) 

Definition at line 132 of file msg.c.

bool xmms_ipc_msg_get_collection_alloc ( xmms_ipc_msg_t msg,
xmmsc_coll_t **  coll 
)

Definition at line 584 of file msg.c.

Referenced by xmms_ipc_msg_get_collection_alloc().

uint32_t xmms_ipc_msg_get_cookie ( const xmms_ipc_msg_t msg  ) 

Definition at line 154 of file msg.c.

bool xmms_ipc_msg_get_float ( xmms_ipc_msg_t msg,
float *  v 
)

Todo:
do we need to convert?

Definition at line 484 of file msg.c.

bool xmms_ipc_msg_get_int32 ( xmms_ipc_msg_t msg,
int32_t *  v 
)

Definition at line 470 of file msg.c.

uint32_t xmms_ipc_msg_get_length ( const xmms_ipc_msg_t msg  ) 

uint32_t xmms_ipc_msg_get_object ( const xmms_ipc_msg_t msg  ) 

Definition at line 116 of file msg.c.

bool xmms_ipc_msg_get_string ( xmms_ipc_msg_t msg,
char *  buf,
unsigned int  maxlen 
)

Definition at line 554 of file msg.c.

bool xmms_ipc_msg_get_string_alloc ( xmms_ipc_msg_t msg,
char **  buf,
unsigned int *  len 
)

Definition at line 491 of file msg.c.

Referenced by xmms_ipc_msg_get_collection_alloc().

bool xmms_ipc_msg_get_uint32 ( xmms_ipc_msg_t msg,
uint32_t *  v 
)

xmms_ipc_msg_t* xmms_ipc_msg_new ( uint32_t  object,
uint32_t  cmd 
)

Definition at line 78 of file msg.c.

uint32_t xmms_ipc_msg_put_bin ( xmms_ipc_msg_t msg,
const unsigned char *  data,
unsigned int  len 
)

Definition at line 306 of file msg.c.

uint32_t xmms_ipc_msg_put_collection ( xmms_ipc_msg_t msg,
xmmsc_coll_t coll 
)

Definition at line 379 of file msg.c.

Referenced by xmms_ipc_msg_put_collection().

uint32_t xmms_ipc_msg_put_float ( xmms_ipc_msg_t msg,
float  v 
)

Todo:
do we need to convert ?

Definition at line 340 of file msg.c.

uint32_t xmms_ipc_msg_put_int32 ( xmms_ipc_msg_t msg,
int32_t  v 
)

Definition at line 332 of file msg.c.

uint32_t xmms_ipc_msg_put_string ( xmms_ipc_msg_t msg,
const char *  str 
)

Definition at line 347 of file msg.c.

Referenced by xmms_ipc_append_coll_attr(), and xmms_ipc_msg_put_string_list().

uint32_t xmms_ipc_msg_put_string_list ( xmms_ipc_msg_t msg,
const char *  strings[] 
)

Definition at line 363 of file msg.c.

uint32_t xmms_ipc_msg_put_uint32 ( xmms_ipc_msg_t msg,
uint32_t  v 
)

bool xmms_ipc_msg_read_transport ( xmms_ipc_msg_t msg,
xmms_ipc_transport_t transport,
bool *  disconnected 
)

Try to read message from transport into msg.

Returns:
TRUE if message is fully read.

Definition at line 215 of file msg.c.

void xmms_ipc_msg_set_cmd ( xmms_ipc_msg_t msg,
uint32_t  cmd 
)

Definition at line 140 of file msg.c.

Referenced by xmms_ipc_msg_new().

void xmms_ipc_msg_set_cookie ( xmms_ipc_msg_t msg,
uint32_t  cookie 
)

Definition at line 148 of file msg.c.

void xmms_ipc_msg_set_length ( xmms_ipc_msg_t msg,
uint32_t  len 
)

Definition at line 100 of file msg.c.

void xmms_ipc_msg_set_object ( xmms_ipc_msg_t msg,
uint32_t  object 
)

Definition at line 124 of file msg.c.

Referenced by xmms_ipc_msg_new().

void xmms_ipc_msg_store_uint32 ( xmms_ipc_msg_t msg,
uint32_t  offset,
uint32_t  v 
)

Definition at line 323 of file msg.c.

bool xmms_ipc_msg_write_transport ( xmms_ipc_msg_t msg,
xmms_ipc_transport_t transport,
bool *  disconnected 
)

Try to write message to transport.

If full message isn't written the message will keep track of the amount of data written and not write already written data next time.

Returns:
TRUE if full message was written, FALSE otherwise. disconnected is set if transport was disconnected

Definition at line 170 of file msg.c.


Generated on Wed Dec 10 18:06:45 2008 for XMMS2 by  doxygen 1.5.6