#if !defined(IIIMF_STREAM_SOCKET_H)
#define IIIMF_STREAM_SOCKET_H


#include <sys/types.h>

#include <iiimp.h>


#ifdef	__cplusplus
extern "C" {
#endif


extern IIIMF_status	stream_socket_client_open(
				IIIMF_im *			im,
				IIIMF_stream_proc_data *	data);

extern IIIMF_status	stream_socket_server_open(
				IIIMF_im *			im,
				IIIMF_stream_proc_data *	data);

extern IIIMF_status	stream_socket_server_accept(
				IIIMF_im *			im_master,
				IIIMF_stream_proc_data *	proc_data,
				void *				client_data,
				IIIMF_im **			im_ret);

extern IIIMF_status	stream_socket_read(IIIMF_stream_proc_data *	data,
					   void *			buf,
					   size_t			nbyte);

extern IIIMF_status	stream_socket_write(IIIMF_stream_proc_data *	data,
					    const void *		buf,
					    size_t			nbyte);

extern IIIMF_status	stream_socket_close(IIIMF_stream_proc_data *	data);


#ifdef	__cplusplus
}
#endif

#endif /* !IIIMF_STREAM_SOCKET_H */


/* Local Variables: */
/* c-file-style: "iiim-project" */
/* End: */
