/* file generated by oo2c -- do not edit */
#ifndef _MODULE_ProgramArgs_
#define _MODULE_ProgramArgs_

#define ProgramArgs__done NULL
#define ProgramArgs__outOfRange 4
#define ProgramArgs__readAfterEnd 5
#define ProgramArgs__channelClosed 6
#define ProgramArgs__noWriteAccess 10
#define ProgramArgs__noModTime 12
#include "Msg.h"
#include "Channel.h"
typedef struct ProgramArgs__ChannelDesc {
  Msg__Msg res;
  unsigned char readable;
  unsigned char writable;
  unsigned char open;
  char _7pad;
} ProgramArgs__ChannelDesc;
typedef struct ProgramArgs__ChannelDesc* ProgramArgs__Channel;
extern ProgramArgs__Channel ProgramArgs__args;
typedef struct ProgramArgs__ErrorContextDesc {
  Msg__StringPtr id;
} ProgramArgs__ErrorContextDesc;
typedef struct ProgramArgs__ReaderDesc {
  Channel__Channel base;
  Msg__Msg res;
  int bytesRead;
  unsigned char positionable;
  char _13pad, _14pad, _15pad;
  int pos0;
  int pos1;
} ProgramArgs__ReaderDesc;
typedef struct ProgramArgs__ReaderDesc* ProgramArgs__Reader;
#define _TBP_ProgramArgs__ReaderDesc_Pos int(*)(ProgramArgs__Reader r)
#define _TBN_ProgramArgs__ReaderDesc_Pos 0
extern int ProgramArgs__ReaderDesc_Pos(ProgramArgs__Reader r);
#define _TBP_ProgramArgs__ReaderDesc_Available int(*)(ProgramArgs__Reader r)
#define _TBN_ProgramArgs__ReaderDesc_Available 1
extern int ProgramArgs__ReaderDesc_Available(ProgramArgs__Reader r);
#define _TBP_ProgramArgs__ReaderDesc_SetPos void(*)(ProgramArgs__Reader r, int newPos)
#define _TBN_ProgramArgs__ReaderDesc_SetPos 2
extern void ProgramArgs__ReaderDesc_SetPos(ProgramArgs__Reader r, int newPos);
#define _TBP_ProgramArgs__ReaderDesc_ReadByte void(*)(ProgramArgs__Reader r, unsigned char *x)
#define _TBN_ProgramArgs__ReaderDesc_ReadByte 3
extern void ProgramArgs__ReaderDesc_ReadByte(ProgramArgs__Reader r, unsigned char *x);
#define _TBP_ProgramArgs__ReaderDesc_ReadBytes void(*)(ProgramArgs__Reader r, unsigned char* x, int x_0d, int start, int n)
#define _TBN_ProgramArgs__ReaderDesc_ReadBytes 4
extern void ProgramArgs__ReaderDesc_ReadBytes(ProgramArgs__Reader r, unsigned char* x, int x_0d, int start, int n);
#define _TBP_ProgramArgs__ChannelDesc_Length int(*)(ProgramArgs__Channel ch)
#define _TBN_ProgramArgs__ChannelDesc_Length 0
extern int ProgramArgs__ChannelDesc_Length(ProgramArgs__Channel ch);
#define _TBP_ProgramArgs__ChannelDesc_ArgNumber int(*)(ProgramArgs__Channel ch)
#define _TBN_ProgramArgs__ChannelDesc_ArgNumber 7
extern int ProgramArgs__ChannelDesc_ArgNumber(ProgramArgs__Channel ch);
#include "Time.h"
#define _TBP_ProgramArgs__ChannelDesc_GetModTime void(*)(ProgramArgs__Channel ch, Time__TimeStamp *mtime, _Type mtime__tag)
#define _TBN_ProgramArgs__ChannelDesc_GetModTime 1
extern void ProgramArgs__ChannelDesc_GetModTime(ProgramArgs__Channel ch, Time__TimeStamp *mtime, _Type mtime__tag);
#define _TBP_ProgramArgs__ChannelDesc_NewReader ProgramArgs__Reader(*)(ProgramArgs__Channel ch)
#define _TBN_ProgramArgs__ChannelDesc_NewReader 2
extern ProgramArgs__Reader ProgramArgs__ChannelDesc_NewReader(ProgramArgs__Channel ch);
#define _TBP_ProgramArgs__ChannelDesc_Flush void(*)(ProgramArgs__Channel ch)
#define _TBN_ProgramArgs__ChannelDesc_Flush 4
extern void ProgramArgs__ChannelDesc_Flush(ProgramArgs__Channel ch);
#define _TBP_ProgramArgs__ChannelDesc_Close void(*)(ProgramArgs__Channel ch)
#define _TBN_ProgramArgs__ChannelDesc_Close 5
extern void ProgramArgs__ChannelDesc_Close(ProgramArgs__Channel ch);
extern struct _TD ProgramArgs__ChannelDesc_td;
extern struct _TD ProgramArgs__ReaderDesc_td;
extern struct _TD ProgramArgs__ErrorContextDesc_td;
extern void ProgramArgs_init(void);

#endif
