rendered paste bodyusing System;
using System.Runtime.InteropServices;
struct datum {
IntPtr dptr;
int dsize;
}
public class DatabaseTest {
[DllImport ("libgdbm.so.2")]
private static extern IntPtr gdbm_open (string path, int blockSize, int flags, int mode, IntPtr cb);
[DllImport ("libgdbm.so.2")]
private static extern void gdbm_close (IntPtr db);
[DllImport ("libgdbm.so.2")]
private static extern datum gdbm_firstkey (IntPtr db);
[DllImport ("libgdbm.so.2")]
private static extern datum gdbm_nextkey (IntPtr db, IntPtr datum);
public static void Main () {
IntPtr db = gdbm_open ("songs.db", 4096, 0 /* GDBM_READER */, 0, IntPtr.Zero);
Console.WriteLine ("db={0}", db);
if (db != IntPtr.Zero) {
gdbm_firstkey (db);
}
}
}