#ifndef _MODULE_StdChannels_
#define _MODULE_StdChannels_

#include <__typemap.h>
#include <RT0.oh>
#include <Channel.oh>
#include <Time.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
extern Channel__Channel StdChannels__stdin;
extern Channel__Channel StdChannels__stdout;
extern Channel__Channel StdChannels__stderr;
typedef struct StdChannels__NullChannelDesc *StdChannels__NullChannel;
typedef struct StdChannels__WriterDesc *StdChannels__Writer;
typedef struct StdChannels__NullChannelDesc {
  Msg__Msg res;
  OOC_CHAR8 readable;
  OOC_CHAR8 writable;
  OOC_CHAR8 open;
  OOC_CHAR8 __pad7;
  StdChannels__Writer writer;
} StdChannels__NullChannelDesc;
typedef struct StdChannels__WriterDesc {
  Channel__Channel base;
  Msg__Msg res;
  OOC_INT32 bytesWritten;
  OOC_CHAR8 positionable;
} StdChannels__WriterDesc;
extern StdChannels__NullChannel StdChannels__null;
extern OOC_INT32 StdChannels__WriterDesc_Pos(StdChannels__Writer w);
#define _TBN_StdChannels__WriterDesc_Pos 1
typedef OOC_INT32 (*_TBP_StdChannels__WriterDesc_Pos)(StdChannels__Writer w);
extern void StdChannels__WriterDesc_SetPos(StdChannels__Writer w, OOC_INT32 newPos);
#define _TBN_StdChannels__WriterDesc_SetPos 2
typedef void (*_TBP_StdChannels__WriterDesc_SetPos)(StdChannels__Writer w, OOC_INT32 newPos);
extern void StdChannels__WriterDesc_WriteByte(StdChannels__Writer w, OOC_CHAR8 x);
#define _TBN_StdChannels__WriterDesc_WriteByte 3
typedef void (*_TBP_StdChannels__WriterDesc_WriteByte)(StdChannels__Writer w, OOC_CHAR8 x);
extern void StdChannels__WriterDesc_WriteBytes(StdChannels__Writer w, const OOC_CHAR8 x[], OOC_LEN x_0d, OOC_INT32 start, OOC_INT32 n);
#define _TBN_StdChannels__WriterDesc_WriteBytes 4
typedef void (*_TBP_StdChannels__WriterDesc_WriteBytes)(StdChannels__Writer w, const OOC_CHAR8 x[], OOC_LEN x_0d, OOC_INT32 start, OOC_INT32 n);
extern OOC_INT32 StdChannels__NullChannelDesc_Length(StdChannels__NullChannel ch);
#define _TBN_StdChannels__NullChannelDesc_Length 4
typedef OOC_INT32 (*_TBP_StdChannels__NullChannelDesc_Length)(StdChannels__NullChannel ch);
extern void StdChannels__NullChannelDesc_GetModTime(StdChannels__NullChannel ch, struct Time__TimeStamp *mtime, RT0__Struct mtime__tag);
#define _TBN_StdChannels__NullChannelDesc_GetModTime 3
typedef void (*_TBP_StdChannels__NullChannelDesc_GetModTime)(StdChannels__NullChannel ch, struct Time__TimeStamp *mtime, RT0__Struct mtime__tag);
extern Channel__Reader StdChannels__NullChannelDesc_NewReader(StdChannels__NullChannel ch);
#define _TBN_StdChannels__NullChannelDesc_NewReader 5
typedef Channel__Reader (*_TBP_StdChannels__NullChannelDesc_NewReader)(StdChannels__NullChannel ch);
extern Channel__Writer StdChannels__NullChannelDesc_NewWriter(StdChannels__NullChannel ch);
#define _TBN_StdChannels__NullChannelDesc_NewWriter 6
typedef Channel__Writer (*_TBP_StdChannels__NullChannelDesc_NewWriter)(StdChannels__NullChannel ch);
extern void StdChannels__NullChannelDesc_Flush(StdChannels__NullChannel ch);
#define _TBN_StdChannels__NullChannelDesc_Flush 2
typedef void (*_TBP_StdChannels__NullChannelDesc_Flush)(StdChannels__NullChannel ch);
extern void StdChannels__NullChannelDesc_Close(StdChannels__NullChannel ch);
#define _TBN_StdChannels__NullChannelDesc_Close 1
typedef void (*_TBP_StdChannels__NullChannelDesc_Close)(StdChannels__NullChannel ch);
extern void OOC_StdChannels_init(void);
extern void OOC_StdChannels_init0(void);

/* run-time meta data */
extern RT0__StructDesc _td_StdChannels__NullChannel;
extern RT0__StructDesc _td_StdChannels__Writer;
extern RT0__StructDesc _td_StdChannels__NullChannelDesc;
extern RT0__StructDesc _td_StdChannels__WriterDesc;
extern RT0__StructDesc _td_StdChannels__ErrorContext;
extern RT0__StructDesc _td_StdChannels__ErrorContextDesc;
extern RT0__StructDesc _td_StdChannels__2863;
#endif /* _MODULE_StdChannels_ */

/* --- */
