public int setrlimit(int resource, rlimit rlp) { // Explicit boxing object rlpObj = rlp; GCHandle handle = GCHandle.Alloc(rlpObj, GCHandleType.Pinned); try { IntPtr rlpPtr = handle.AddrOfPinnedObject(); return(_setrlimit(resource, rlpPtr)); } finally { handle.Free(); } }
public int getrlimit(int resource, out rlimit rlim) { var output = default(rlimit); rlim = output; // Explicit boxing object rlpObj = output; GCHandle handle = GCHandle.Alloc(rlpObj, GCHandleType.Pinned); try { IntPtr rlpPtr = handle.AddrOfPinnedObject(); int result = _getrlimit(resource, rlpPtr); rlim = (rlimit)rlpObj; return(result); } finally { handle.Free(); } }