libemcast API by David Helder Copyright (C) 2001 Regents of the University of Michigan ============================================================ IN PROGRESS. See libemcast.h and libemcast.c. It's not complex. Creating, joining, leaving -------------------------- int emcast_join (Emcast** emcastp, const char* url); int emcast_leave (Emcast* emcast); To do async reads, select on return value of join. Assume (optimisticly) that writes don't block. Sending and receiving --------------------- int emcast_send (Emcast* emcast, const char* buf, size_t len); int emcast_recv (Emcast* emcast, char* buf, size_t len); int emcast_recvfrom (Emcast* emcast, char* buf, int len, void* from, size_t* fromlen); Setting and getting options --------------------------- int emcast_setopt (Emcast* emcast, const char* optname, const void* optval, size_t optlen); int emcast_getopt (Emcast* emcast, const char* optname, void* optval, size_t* optlen); Emcast errors ------------- char* emcast_strerror (int errnum); Most functions return 0 on success or a non-zero error number on failure. This error number may be positive or negative (see the documentation for the particular function). The error number can be converted to a constant string using emcast_strerror.