#ifndef _MODULE_IO_StdChannels_
#define _MODULE_IO_StdChannels_

#include <__typemap.h>
#include <RT0.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
#include <IO.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
typedef struct IO_StdChannels__ChannelDesc *IO_StdChannels__Channel;
typedef struct IO_StdChannels__ChannelDesc {
  OOC_UINT32 readyOps;
  IO__SelectionKeyList keys;
  OOC_INT32 fd;
} IO_StdChannels__ChannelDesc;
extern IO__ByteChannel IO_StdChannels__stdin;
extern IO__ByteChannel IO_StdChannels__stdout;
extern IO__ByteChannel IO_StdChannels__stderr;
extern void IO_StdChannels__Init(IO_StdChannels__Channel ch, OOC_INT32 fd);
extern OOC_INT32 IO_StdChannels__ChannelDesc_Read(IO_StdChannels__Channel ch, OOC_CHAR8 buffer[], OOC_LEN buffer_0d, OOC_INT32 start, OOC_INT32 length);
#define _TBN_IO_StdChannels__ChannelDesc_Read 8
typedef OOC_INT32 (*_TBP_IO_StdChannels__ChannelDesc_Read)(IO_StdChannels__Channel ch, OOC_CHAR8 buffer[], OOC_LEN buffer_0d, OOC_INT32 start, OOC_INT32 length);
extern OOC_INT32 IO_StdChannels__ChannelDesc_Write(IO_StdChannels__Channel ch, const OOC_CHAR8 buffer[], OOC_LEN buffer_0d, OOC_INT32 start, OOC_INT32 length);
#define _TBN_IO_StdChannels__ChannelDesc_Write 10
typedef OOC_INT32 (*_TBP_IO_StdChannels__ChannelDesc_Write)(IO_StdChannels__Channel ch, const OOC_CHAR8 buffer[], OOC_LEN buffer_0d, OOC_INT32 start, OOC_INT32 length);
extern void IO_StdChannels__ChannelDesc_SetBlocking(IO_StdChannels__Channel ch, OOC_CHAR8 block);
#define _TBN_IO_StdChannels__ChannelDesc_SetBlocking 5
typedef void (*_TBP_IO_StdChannels__ChannelDesc_SetBlocking)(IO_StdChannels__Channel ch, OOC_CHAR8 block);
extern OOC_INT32 IO_StdChannels__ChannelDesc_FileDescriptor(IO_StdChannels__Channel ch);
#define _TBN_IO_StdChannels__ChannelDesc_FileDescriptor 2
typedef OOC_INT32 (*_TBP_IO_StdChannels__ChannelDesc_FileDescriptor)(IO_StdChannels__Channel ch);
extern void NORETURN IO_StdChannels__IOError(Object__String suffix) NORETURN2;
extern void OOC_IO_StdChannels_init(void);
extern void OOC_IO_StdChannels_init0(void);

/* run-time meta data */
extern RT0__StructDesc _td_IO_StdChannels__Channel;
extern RT0__StructDesc _td_IO_StdChannels__ChannelList;
extern RT0__StructDesc _td_IO_StdChannels__ChannelDesc;
extern RT0__StructDesc _td_IO_StdChannels__1335;
extern RT0__StructDesc _td_IO_StdChannels__1490;
#endif /* _MODULE_IO_StdChannels_ */

/* --- */
