private unsafe int FuseOptProc(void *data, string arg, int key, FuseArgs *outargs) { Trace.WriteLine($"FuseOptProc: arg={arg}, key={key}"); if (ProcesingFunction != null) { return(ProcesingFunction(arg, key)); } return(-1); }
private unsafe void ReleaseArgs(FuseArgs *pArg) { var pPtr = (IntPtr *)pArg->argv.ToPointer(); for (int i = 0; ; i++) { var ptr = pPtr[i]; if (ptr == IntPtr.Zero) { break; } Marshal.FreeHGlobal(ptr); } }
internal static extern unsafe int FuseOptParse(FuseArgs *args, void *data, FuseOpt *opts, FuseOptProc proc);