"errno.h");
}
-$cflags = `glib-config --cflags glib`;
+$cflags = `pkg-config --cflags glib-2.0`;
$cflags =~ s/\n//;
$lib = "monowrapper";
+if ($csmode){
+ $res_struct .= "[CLSCompliant(false)]\n";
+}
create_struct ("MonoWrapperStat", "stat",
- "uint", "st_dev",
- "uint", "st_mode",
- "uint", "st_nlink",
- "uint", "st_uid",
- "uint", "st_gid",
- "long", "st_size",
- "uint", "st_atime",
- "uint", "st_mtime",
- "uint", "st_ctime",
+ "uint", "mst_dev",
+ "uint", "mst_mode",
+ "uint", "mst_nlink",
+ "uint", "mst_uid",
+ "uint", "mst_gid",
+ "long", "mst_size",
+ "uint", "mst_atime",
+ "uint", "mst_mtime",
+ "uint", "mst_ctime",
);
create_func ($lib, "", "seek", "long",
"long", "offset",
"int", "whence");
+create_func ($lib, "", "mkdir", "int",
+ "string", "path",
+ "int", "mode");
+
+create_func ($lib, "", "rmdir", "int",
+ "string", "path");
+
create_func ($lib, "", "read", "int",
"IntPtr", "fd",
"void *", "buf",
create_func ($lib, "", "unlink", "int",
"string", "path");
+create_func ($lib, "", "opendir", "IntPtr",
+ "string", "path");
+
+create_func ($lib, "", "readdir", "string",
+ "IntPtr", "dir");
+
+create_func ($lib, "", "closedir", "int",
+ "IntPtr", "dir");
+
+create_func ($lib, "", "getenv", "IntPtr",
+ "string", "variable");
+
+create_func ($lib, "", "environ", "IntPtr");
+
+create_func ($lib, "", "rename", "int",
+ "string", "source",
+ "string", "target");
+
+create_func ($lib, "", "utime", "int",
+ "string", "path",
+ "int", "atime",
+ "int", "mtime");
+
+create_func ($lib, "mono_glob_compile", "mono_glob_compile", "IntPtr",
+ "string", "glob");
+
+create_func ($lib, "mono_glob_match", "mono_glob_match", "int",
+ "IntPtr", "handle",
+ "string", "str");
+
+create_func ($lib, "mono_glob_dispose", "mono_glob_dispose", "void",
+ "IntPtr", "handle");
+
map_const ("int", "%d", "SEEK_SET",
"int", "%d", "SEEK_CUR",
"int", "%d", "SEEK_END",
%tmap = ("void" => "void",
- "IntPtr" => "int",
+ "IntPtr" => "gpointer",
"sbyte" => "gint8",
"byte" => "guint8",
"short" => "gint16",
my (@func) = @_;
my ($i) = 0;
my ($res) = "";
+ my ($cls) = 1;
+ my ($j) = 4;
+ while ($j <= $#func){
+ if ($func[$j] =~ /\*/){
+ $cls = 0;
+ }
+ $j+=2;
+ }
if ($func[1] eq "") {
$func[1] = "mono_wrapper_$func[2]";
if ($csmode) {
$res = "\t[DllImport(\"$func[0]\", EntryPoint=\"$func[1]\", CharSet=CharSet.Ansi)]\n";
+ if ($cls == 0){
+ $res .= "\t[CLSCompliant(false)]\n";
+ }
$res .= "\tpublic unsafe static extern $func[3] $func[2] (";
$i +=4;
while ($i <= $#func) {