#ifndef FILE_NITNI_H
#define FILE_NITNI_H
-#ifndef NATIVEFILECAPABLE_TYPE
-#define NATIVEFILECAPABLE_TYPE
-typedef struct s_NativeFileCapable{
- val_t v;
-} NativeFileCapable;
+#ifndef STDIN_TYPE
+#define STDIN_TYPE
+struct s_Stdin{
+ struct nitni_ref ref; /* real ref struct, must be first */
+};
+typedef struct s_Stdin *Stdin;
+#define Stdin_incr_ref( x ) nitni_global_ref_incr( (struct nitni_ref*)(x) )
+#define Stdin_decr_ref( x ) nitni_global_ref_decr( (struct nitni_ref*)(x) )
+#endif
+#ifndef STRING_TYPE
+#define STRING_TYPE
+struct s_String{
+ struct nitni_ref ref; /* real ref struct, must be first */
+};
+typedef struct s_String *String;
+#define String_incr_ref( x ) nitni_global_ref_incr( (struct nitni_ref*)(x) )
+#define String_decr_ref( x ) nitni_global_ref_decr( (struct nitni_ref*)(x) )
+#endif
+#ifndef SET_TYPE
+#define SET_TYPE
+struct s_Set{
+ struct nitni_ref ref; /* real ref struct, must be first */
+};
+typedef struct s_Set *Set;
+#define Set_incr_ref( x ) nitni_global_ref_incr( (struct nitni_ref*)(x) )
+#define Set_decr_ref( x ) nitni_global_ref_decr( (struct nitni_ref*)(x) )
+#endif
+#ifndef HASHSET_TYPE
+#define HASHSET_TYPE
+struct s_HashSet{
+ struct nitni_ref ref; /* real ref struct, must be first */
+};
+typedef struct s_HashSet *HashSet;
+#define HashSet_incr_ref( x ) nitni_global_ref_incr( (struct nitni_ref*)(x) )
+#define HashSet_decr_ref( x ) nitni_global_ref_decr( (struct nitni_ref*)(x) )
+#endif
+#ifndef OBJECT_TYPE
+#define OBJECT_TYPE
+struct s_Object{
+ struct nitni_ref ref; /* real ref struct, must be first */
+};
+typedef struct s_Object *Object;
+#define Object_incr_ref( x ) nitni_global_ref_incr( (struct nitni_ref*)(x) )
+#define Object_decr_ref( x ) nitni_global_ref_decr( (struct nitni_ref*)(x) )
+#endif
+#ifndef HASHSET_TYPE
+#define HASHSET_TYPE
+struct s_HashSet{
+ struct nitni_ref ref; /* real ref struct, must be first */
+};
+typedef struct s_HashSet *HashSet;
+#define HashSet_incr_ref( x ) nitni_global_ref_incr( (struct nitni_ref*)(x) )
+#define HashSet_decr_ref( x ) nitni_global_ref_decr( (struct nitni_ref*)(x) )
#endif
-
#include "file_nit.h"
+#include <standard___file._ffi.h>
+
+/* out/indirect function for file::Stdin::poll_in */
+val_t Stdin_poll_in___out( val_t recv );
+
+/* out/indirect function for file::String::files */
+val_t String_files___out( val_t recv );
/* out/indirect function for file::NativeString::file_exists */
val_t NativeString_file_exists___out( val_t recv );
/* out/indirect function for file::NativeString::file_stat */
val_t NativeString_file_stat___out( val_t recv );
+/* out/indirect function for file::NativeString::file_lstat */
+val_t NativeString_file_lstat___out( val_t recv );
+
/* out/indirect function for file::NativeString::file_mkdir */
val_t NativeString_file_mkdir___out( val_t recv );
/* out/indirect function for file::FileStat::size */
val_t FileStat_size___out( val_t recv );
-#ifndef FileStat
- typedef void* FileStat;
-#endif
+/* out/indirect function for file::FileStat::is_reg */
+val_t FileStat_is_reg___out( val_t recv );
+
+/* out/indirect function for file::FileStat::is_dir */
+val_t FileStat_is_dir___out( val_t recv );
+
+/* out/indirect function for file::FileStat::is_chr */
+val_t FileStat_is_chr___out( val_t recv );
+
+/* out/indirect function for file::FileStat::is_blk */
+val_t FileStat_is_blk___out( val_t recv );
+
+/* out/indirect function for file::FileStat::is_fifo */
+val_t FileStat_is_fifo___out( val_t recv );
+
+/* out/indirect function for file::FileStat::is_lnk */
+val_t FileStat_is_lnk___out( val_t recv );
+
+/* out/indirect function for file::FileStat::is_sock */
+val_t FileStat_is_sock___out( val_t recv );
/* out/indirect function for file::NativeFile::io_read */
val_t NativeFile_io_read___out( val_t recv, val_t buf, val_t len );
/* out/indirect function for file::NativeFile::file_stat */
val_t NativeFile_file_stat___out( val_t recv );
-#ifndef NativeFile
- typedef void* NativeFile;
-#endif
+/* out/indirect function for file::NativeFile::io_open_read */
+val_t NEW_NativeFile_standard___file___NativeFile___io_open_read( val_t path );
+
+/* out/indirect function for file::NativeFile::io_open_write */
+val_t NEW_NativeFile_standard___file___NativeFile___io_open_write( val_t path );
-/* out/indirect function for file::NativeFileCapable::io_open_read */
-val_t NativeFileCapable_io_open_read___out( val_t recv, val_t path );
+/* out/indirect function for file::NativeFile::native_stdin */
+val_t NEW_NativeFile_standard___file___NativeFile___native_stdin( );
+
+/* out/indirect function for file::NativeFile::native_stdout */
+val_t NEW_NativeFile_standard___file___NativeFile___native_stdout( );
+
+/* out/indirect function for file::NativeFile::native_stderr */
+val_t NEW_NativeFile_standard___file___NativeFile___native_stderr( );
+/* friendly for hash_collection::HashSet::init */
+HashSet file_new_HashSet( );
+#ifndef new_HashSet
+#define new_HashSet file_new_HashSet
+#endif
+/* friendly for hash_collection::HashSet::(abstract_collection::SimpleCollection::add) */
+void file_HashSet_add( HashSet recv, Object item );
+#ifndef HashSet_add
+#define HashSet_add file_HashSet_add
+#endif
+/* friendly for string::NativeString::(string::Object::to_s) */
+String file_NativeString_to_s( char * recv );
+#ifndef NativeString_to_s
+#define NativeString_to_s file_NativeString_to_s
+#endif
+/* friendly for string::String::to_cstring */
+char * file_String_to_cstring( String recv );
+#ifndef String_to_cstring
+#define String_to_cstring file_String_to_cstring
+#endif
-/* out/indirect function for file::NativeFileCapable::io_open_write */
-val_t NativeFileCapable_io_open_write___out( val_t recv, val_t path );
+/* Type check for HashSet[String] with Set[String] */
+int file_HashSet_is_a_Set( HashSet value );
+#ifndef HashSet_is_a_Set
+#define HashSet_is_a_Set file_HashSet_is_a_Set
+#endif
-/* out/indirect function for file::NativeFileCapable::native_stdin */
-val_t NativeFileCapable_native_stdin___out( val_t recv );
+/* Cast for HashSet[String] to Set[String] */
+Set file_HashSet_as_Set( HashSet value );
+#ifndef HashSet_as_Set
+#define HashSet_as_Set file_HashSet_as_Set
+#endif
-/* out/indirect function for file::NativeFileCapable::native_stdout */
-val_t NativeFileCapable_native_stdout___out( val_t recv );
+/* Type check for String with Object */
+int file_String_is_a_Object( String value );
+#ifndef String_is_a_Object
+#define String_is_a_Object file_String_is_a_Object
+#endif
-/* out/indirect function for file::NativeFileCapable::native_stderr */
-val_t NativeFileCapable_native_stderr___out( val_t recv );
+/* Cast for String to Object */
+Object file_String_as_Object( String value );
+#ifndef String_as_Object
+#define String_as_Object file_String_as_Object
+#endif
#endif