package SPVM::IO::File {
  has fh : int;
  has offset : long;
  
  enum {
    SEEK_SET,
    SEEK_CUR,
    SEEK_END,
  }
  
  sub fopen : SPVM::IO::File ($file_name : string, $mode : string) {
    return undef;
  }
  sub fputc : int ($self : self, $c : int) {
    return 0;
  }
  sub fread : int ($self :self, $buf : byte[], $buf_offset : int, $n : int) {
    return 0;
  }
  sub fwrite : int ($self : self, $buf : byte[], $buf_offset : int, $n : int) {
    return 0;
  }
  sub fseek : int ($self : self, $offset : long, $whence : int) {
    return 0;
  }
  sub fclose : int ($self : self) {
    return 0;
  }
  sub DESTROY : void ($self : self) {
    
  }
  
  sub get_line : string ($self : self) {
    
    return undef;
  }
}
