Like for Java, G-WAN created some wrappers for the G-WAN C API. In both cases (Java and C#), these wrappers can be found under the gwan/libraries/cs
directory.
Currently, the C# wrappers are:
// gwan_api.cs: exported G-WAN API calls for .NET C# servlets
using System;
using System.Runtime.CompilerServices;
public class Gwan
{
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static long getReply(string env);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static void xbufCat(long reply, string mono_reply);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static long cycles64();
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static long getNs ();
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static long getUs ();
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static long getMs ();
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static void logErr (long env, String msg);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern public static void report (long reply, int html_format);
}
But you can freely extend this file by adding more wrappers, either for the G-WAN C API, or for third-party C libraries loaded by your G-WAN scripts.
Hope this helps.
EDIT
You must implement the C# wrappers for any new G-WAN API (or external function) you want to support from your C# scripts.
The include file listed above is a mere list (not implementation).
Please refer to the Mono documentation for more details - or drop us a line at G-WAN if you want to sponsor the features you need.