terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
Interop.cs
Go to the documentation of this file.
1using System;
5
6// Token: 0x02000002 RID: 2
7internal static class Interop
8{
9 // Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250
11 {
12 /*
13An exception occurred when decompiling this method (06000001)
14
15ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Interop::ThrowExceptionForIoErrno(Interop/ErrorInfo,System.String,System.Boolean,System.Func`2<Interop/ErrorInfo,Interop/ErrorInfo>)
16
17 ---> System.Exception: Basic block has to end with unconditional control flow.
18{
19 IL_0003:
20 stloc:Exception(var_0_0B, call:Exception(Interop::GetExceptionForIoErrno, ldloc:ErrorInfo(errorInfo), ldloc:string(path), ldloc:bool(isDirectory)))
21}
22
23 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
24 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
25 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
26 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
27 --- End of inner exception stack trace ---
28 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
29 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
30*/;
31 }
32
33 // Token: 0x06000002 RID: 2 RVA: 0x00002068 File Offset: 0x00000268
34 internal static long CheckIo(long result, [Optional] string path, bool isDirectory = false, [Optional] Func<Interop.ErrorInfo, Interop.ErrorInfo> errorRewriter)
35 {
36 /*
37An exception occurred when decompiling this method (06000002)
38
39ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 Interop::CheckIo(System.Int64,System.String,System.Boolean,System.Func`2<Interop/ErrorInfo,Interop/ErrorInfo>)
40
41 ---> System.Exception: Basic block has to end with unconditional control flow.
42{
43 Block_0:
44 stloc:ErrorInfo(var_0_05, call:ErrorInfo(Sys::GetLastErrorInfo))
45}
46
47 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
48 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
49 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
50 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
51 --- End of inner exception stack trace ---
52 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
53 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
54*/;
55 }
56
57 // Token: 0x06000003 RID: 3 RVA: 0x0000207A File Offset: 0x0000027A
58 internal static int CheckIo(int result, [Optional] string path, bool isDirectory = false, [Optional] Func<Interop.ErrorInfo, Interop.ErrorInfo> errorRewriter)
59 {
60 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
61 }
62
63 // Token: 0x06000004 RID: 4 RVA: 0x00002088 File Offset: 0x00000288
64 internal static Exception GetExceptionForIoErrno(Interop.ErrorInfo errorInfo, [Optional] string path, bool isDirectory = false)
65 {
66 bool flag = string.IsNullOrEmpty("value");
67 string text = SR.Format("Access to the path '{0}' is denied.", "Access to the path is denied.");
68 bool flag2 = string.IsNullOrEmpty(text);
69 Exception ex;
70 return ex;
71 }
72
73 // Token: 0x06000005 RID: 5 RVA: 0x0000207A File Offset: 0x0000027A
75 {
76 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
77 }
78
79 // Token: 0x06000006 RID: 6 RVA: 0x00002124 File Offset: 0x00000324
80 internal unsafe static void GetRandomBytes(byte* buffer, int length)
81 {
82 if (!true)
83 {
84 }
85 }
86
87 // Token: 0x02000003 RID: 3
88 internal enum Error
89 {
90 // Token: 0x04000002 RID: 2
91 SUCCESS,
92 // Token: 0x04000003 RID: 3
93 E2BIG = 65537,
94 // Token: 0x04000004 RID: 4
95 EACCES,
96 // Token: 0x04000005 RID: 5
98 // Token: 0x04000006 RID: 6
100 // Token: 0x04000007 RID: 7
102 // Token: 0x04000008 RID: 8
103 EAGAIN,
104 // Token: 0x04000009 RID: 9
105 EALREADY,
106 // Token: 0x0400000A RID: 10
107 EBADF,
108 // Token: 0x0400000B RID: 11
109 EBADMSG,
110 // Token: 0x0400000C RID: 12
111 EBUSY,
112 // Token: 0x0400000D RID: 13
113 ECANCELED,
114 // Token: 0x0400000E RID: 14
115 ECHILD,
116 // Token: 0x0400000F RID: 15
118 // Token: 0x04000010 RID: 16
120 // Token: 0x04000011 RID: 17
122 // Token: 0x04000012 RID: 18
123 EDEADLK,
124 // Token: 0x04000013 RID: 19
126 // Token: 0x04000014 RID: 20
127 EDOM,
128 // Token: 0x04000015 RID: 21
129 EDQUOT,
130 // Token: 0x04000016 RID: 22
131 EEXIST,
132 // Token: 0x04000017 RID: 23
133 EFAULT,
134 // Token: 0x04000018 RID: 24
135 EFBIG,
136 // Token: 0x04000019 RID: 25
138 // Token: 0x0400001A RID: 26
139 EIDRM,
140 // Token: 0x0400001B RID: 27
141 EILSEQ,
142 // Token: 0x0400001C RID: 28
144 // Token: 0x0400001D RID: 29
145 EINTR,
146 // Token: 0x0400001E RID: 30
147 EINVAL,
148 // Token: 0x0400001F RID: 31
149 EIO,
150 // Token: 0x04000020 RID: 32
151 EISCONN,
152 // Token: 0x04000021 RID: 33
153 EISDIR,
154 // Token: 0x04000022 RID: 34
155 ELOOP,
156 // Token: 0x04000023 RID: 35
157 EMFILE,
158 // Token: 0x04000024 RID: 36
159 EMLINK,
160 // Token: 0x04000025 RID: 37
161 EMSGSIZE,
162 // Token: 0x04000026 RID: 38
163 EMULTIHOP,
164 // Token: 0x04000027 RID: 39
166 // Token: 0x04000028 RID: 40
167 ENETDOWN,
168 // Token: 0x04000029 RID: 41
169 ENETRESET,
170 // Token: 0x0400002A RID: 42
172 // Token: 0x0400002B RID: 43
173 ENFILE,
174 // Token: 0x0400002C RID: 44
175 ENOBUFS,
176 // Token: 0x0400002D RID: 45
177 ENODEV = 65580,
178 // Token: 0x0400002E RID: 46
179 ENOENT,
180 // Token: 0x0400002F RID: 47
181 ENOEXEC,
182 // Token: 0x04000030 RID: 48
183 ENOLCK,
184 // Token: 0x04000031 RID: 49
185 ENOLINK,
186 // Token: 0x04000032 RID: 50
187 ENOMEM,
188 // Token: 0x04000033 RID: 51
189 ENOMSG,
190 // Token: 0x04000034 RID: 52
192 // Token: 0x04000035 RID: 53
193 ENOSPC,
194 // Token: 0x04000036 RID: 54
195 ENOSYS = 65591,
196 // Token: 0x04000037 RID: 55
197 ENOTCONN,
198 // Token: 0x04000038 RID: 56
199 ENOTDIR,
200 // Token: 0x04000039 RID: 57
201 ENOTEMPTY,
202 // Token: 0x0400003A RID: 58
203 ENOTSOCK = 65596,
204 // Token: 0x0400003B RID: 59
205 ENOTSUP,
206 // Token: 0x0400003C RID: 60
207 ENOTTY,
208 // Token: 0x0400003D RID: 61
209 ENXIO,
210 // Token: 0x0400003E RID: 62
211 EOVERFLOW,
212 // Token: 0x0400003F RID: 63
213 EPERM = 65602,
214 // Token: 0x04000040 RID: 64
215 EPIPE,
216 // Token: 0x04000041 RID: 65
217 EPROTO,
218 // Token: 0x04000042 RID: 66
220 // Token: 0x04000043 RID: 67
222 // Token: 0x04000044 RID: 68
223 ERANGE,
224 // Token: 0x04000045 RID: 69
225 EROFS,
226 // Token: 0x04000046 RID: 70
227 ESPIPE,
228 // Token: 0x04000047 RID: 71
229 ESRCH,
230 // Token: 0x04000048 RID: 72
231 ESTALE,
232 // Token: 0x04000049 RID: 73
233 ETIMEDOUT = 65613,
234 // Token: 0x0400004A RID: 74
235 ETXTBSY,
236 // Token: 0x0400004B RID: 75
237 EXDEV,
238 // Token: 0x0400004C RID: 76
239 ESOCKTNOSUPPORT = 65630,
240 // Token: 0x0400004D RID: 77
241 EPFNOSUPPORT = 65632,
242 // Token: 0x0400004E RID: 78
243 ESHUTDOWN = 65644,
244 // Token: 0x0400004F RID: 79
245 EHOSTDOWN = 65648,
246 // Token: 0x04000050 RID: 80
247 ENODATA,
248 // Token: 0x04000051 RID: 81
249 EOPNOTSUPP = 65597,
250 // Token: 0x04000052 RID: 82
251 EWOULDBLOCK = 65542
252 }
253
254 // Token: 0x02000004 RID: 4
255 internal struct ErrorInfo
256 {
257 // Token: 0x06000007 RID: 7 RVA: 0x00002134 File Offset: 0x00000334
258 internal ErrorInfo(int errno)
259 {
260 if (!true)
261 {
262 }
264 }
265
266 // Token: 0x06000008 RID: 8 RVA: 0x0000214C File Offset: 0x0000034C
267 internal ErrorInfo(Interop.Error error)
268 {
269 this._error = error;
270 }
271
272 // Token: 0x17000001 RID: 1
273 // (get) Token: 0x06000009 RID: 9 RVA: 0x0000207A File Offset: 0x0000027A
275 {
276 get
277 {
278 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
279 }
280 }
281
282 // Token: 0x17000002 RID: 2
283 // (get) Token: 0x0600000A RID: 10 RVA: 0x00002160 File Offset: 0x00000360
284 internal int RawErrno
285 {
286 get
287 {
288 int rawErrno = this._rawErrno;
289 int num;
290 this._rawErrno = num;
291 return num;
292 }
293 }
294
295 // Token: 0x0600000B RID: 11 RVA: 0x0000217C File Offset: 0x0000037C
296 internal string GetErrorMessage()
297 {
298 return Interop.Sys.StrError(this.RawErrno);
299 }
300
301 // Token: 0x0600000C RID: 12 RVA: 0x00002194 File Offset: 0x00000394
302 public override string ToString()
303 {
304 int rawErrno = this.RawErrno;
305 string errorMessage = this.GetErrorMessage();
306 string text;
307 return text;
308 }
309
310 // Token: 0x04000053 RID: 83
312
313 // Token: 0x04000054 RID: 84
314 private int _rawErrno;
315 }
316
317 // Token: 0x02000005 RID: 5
318 internal static class Sys
319 {
320 // Token: 0x0600000D RID: 13 RVA: 0x000021B0 File Offset: 0x000003B0
322 {
323 /*
324An exception occurred when decompiling this method (0600000D)
325
326ICSharpCode.Decompiler.DecompilerException: Error decompiling Interop/ErrorInfo Interop/Sys::GetLastErrorInfo()
327
328 ---> System.Exception: Basic block has to end with unconditional control flow.
329{
330 IL_0003:
331 stloc:int32(var_1_0A, call:int32(Marshal::GetLastWin32Error))
332}
333
334 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
335 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
336 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
337 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
338 --- End of inner exception stack trace ---
339 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
340 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
341*/;
342 }
343
344 // Token: 0x0600000E RID: 14 RVA: 0x000021C8 File Offset: 0x000003C8
345 internal static string StrError(int platformErrno)
346 {
347 if (!true)
348 {
349 }
350 string text;
351 return text;
352 }
353
354 // Token: 0x0600000F RID: 15
356
357 // Token: 0x06000010 RID: 16
358 internal static extern int ConvertErrorPalToPlatform(Interop.Error error);
359
360 // Token: 0x06000011 RID: 17
361 private unsafe static extern byte* StrErrorR(int platformErrno, byte* buffer, int bufferSize);
362
363 // Token: 0x06000012 RID: 18
364 internal unsafe static extern void GetNonCryptographicallySecureRandomBytes(byte* buffer, int length);
365
366 // Token: 0x06000013 RID: 19
367 internal static extern IntPtr OpenDir(string path);
368
369 // Token: 0x06000014 RID: 20
370 internal static extern int GetReadDirRBufferSize();
371
372 // Token: 0x06000015 RID: 21
373 internal unsafe static extern int ReadDirR(IntPtr dir, byte* buffer, int bufferSize, [Out] Interop.Sys.DirectoryEntry outputEntry);
374
375 // Token: 0x06000016 RID: 22
376 internal static extern int CloseDir(IntPtr dir);
377
378 // Token: 0x06000017 RID: 23
379 private static extern int ReadLink(string path, byte[] buffer, int bufferSize);
380
381 // Token: 0x06000018 RID: 24 RVA: 0x000021DC File Offset: 0x000003DC
382 public static string ReadLink(string path)
383 {
384 /*
385An exception occurred when decompiling this method (06000018)
386
387ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String Interop/Sys::ReadLink(System.String)
388
389 ---> System.Exception: Basic block has to end with unconditional control flow.
390{
391 IL_0008:
392 stloc:Encoding(var_3_0F, callgetter:Encoding(Encoding::get_UTF8))
393}
394
395 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
396 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
397 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
398 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
399 --- End of inner exception stack trace ---
400 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
401 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
402*/;
403 }
404
405 // Token: 0x06000019 RID: 25
406 internal static extern int Stat(string path, [Out] Interop.Sys.FileStatus output);
407
408 // Token: 0x0600001A RID: 26
409 internal static extern int LStat(string path, [Out] Interop.Sys.FileStatus output);
410
411 // Token: 0x0600001B RID: 27
412 internal static extern int Symlink(string target, string linkPath);
413
414 // Token: 0x0600001C RID: 28
415 internal static extern int ChMod(string path, int mode);
416
417 // Token: 0x0600001D RID: 29
419
420 // Token: 0x0600001E RID: 30
421 internal static extern uint GetEGid();
422
423 // Token: 0x0600001F RID: 31
424 internal static extern uint GetEUid();
425
426 // Token: 0x06000020 RID: 32
427 internal static extern int LChflags(string path, uint flags);
428
429 // Token: 0x06000021 RID: 33
430 private static extern int LChflagsCanSetHiddenFlag();
431
432 // Token: 0x06000022 RID: 34
433 internal static extern int Link(string source, string link);
434
435 // Token: 0x06000023 RID: 35
436 internal static extern int MkDir(string path, int mode);
437
438 // Token: 0x06000024 RID: 36
439 internal static extern int Rename(string oldPath, string newPath);
440
441 // Token: 0x06000025 RID: 37
442 internal static extern int Stat(byte path, [Out] Interop.Sys.FileStatus output);
443
444 // Token: 0x06000026 RID: 38 RVA: 0x000021F8 File Offset: 0x000003F8
445 internal static int Stat(ReadOnlySpan<char> path, [Out] Interop.Sys.FileStatus output)
446 {
447 /*
448An exception occurred when decompiling this method (06000026)
449
450ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Interop/Sys::Stat(System.ReadOnlySpan`1<System.Char>,Interop/Sys/FileStatus)
451
452 ---> System.Exception: Basic block has to end with unconditional control flow.
453{
454 Block_0:
455 stloc:uint8(var_1_06, call:!!0[exp:uint8](MemoryMarshal::GetReference, ldloc:valuetype System.Span`1<uint8>[exp:Span`1](var_0)))
456}
457
458 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
459 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
460 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
461 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
462 --- End of inner exception stack trace ---
463 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
464 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
465*/;
466 }
467
468 // Token: 0x06000027 RID: 39
469 internal static extern int LStat(byte path, [Out] Interop.Sys.FileStatus output);
470
471 // Token: 0x06000028 RID: 40 RVA: 0x0000220C File Offset: 0x0000040C
472 internal static int LStat(ReadOnlySpan<char> path, [Out] Interop.Sys.FileStatus output)
473 {
474 /*
475An exception occurred when decompiling this method (06000028)
476
477ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Interop/Sys::LStat(System.ReadOnlySpan`1<System.Char>,Interop/Sys/FileStatus)
478
479 ---> System.Exception: Basic block has to end with unconditional control flow.
480{
481 Block_0:
482 stloc:uint8(var_1_06, call:!!0[exp:uint8](MemoryMarshal::GetReference, ldloc:valuetype System.Span`1<uint8>[exp:Span`1](var_0)))
483}
484
485 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
486 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
487 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
488 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
489 --- End of inner exception stack trace ---
490 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
491 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
492*/;
493 }
494
495 // Token: 0x06000029 RID: 41
496 internal static extern int Unlink(string pathname);
497
498 // Token: 0x0600002A RID: 42 RVA: 0x0000207A File Offset: 0x0000027A
499 internal unsafe static int DoubleToString(double value, byte* format, byte* buffer, int bufferLength)
500 {
501 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
502 }
503
504 // Token: 0x0600002B RID: 43 RVA: 0x00002220 File Offset: 0x00000420
505 // Note: this type is marked as 'beforefieldinit'.
506 static Sys()
507 {
508 }
509
510 // Token: 0x04000055 RID: 85
511 internal static readonly bool CanSetHiddenFlag;
512
513 // Token: 0x02000006 RID: 6
514 internal enum NodeType
515 {
516 // Token: 0x04000057 RID: 87
518 // Token: 0x04000058 RID: 88
519 DT_FIFO,
520 // Token: 0x04000059 RID: 89
521 DT_CHR,
522 // Token: 0x0400005A RID: 90
523 DT_DIR = 4,
524 // Token: 0x0400005B RID: 91
525 DT_BLK = 6,
526 // Token: 0x0400005C RID: 92
527 DT_REG = 8,
528 // Token: 0x0400005D RID: 93
529 DT_LNK = 10,
530 // Token: 0x0400005E RID: 94
531 DT_SOCK = 12,
532 // Token: 0x0400005F RID: 95
533 DT_WHT = 14
534 }
535
536 // Token: 0x02000007 RID: 7
537 internal struct DirectoryEntry
538 {
539 // Token: 0x0600002C RID: 44 RVA: 0x00002230 File Offset: 0x00000430
541 {
542 return default(ReadOnlySpan<char>);
543 }
544
545 // Token: 0x04000060 RID: 96
546 internal unsafe byte* Name;
547
548 // Token: 0x04000061 RID: 97
549 internal int NameLength;
550
551 // Token: 0x04000062 RID: 98
553 }
554
555 // Token: 0x02000008 RID: 8
556 internal struct FileStatus
557 {
558 // Token: 0x04000063 RID: 99
560
561 // Token: 0x04000064 RID: 100
562 internal int Mode;
563
564 // Token: 0x04000065 RID: 101
565 internal uint Uid;
566
567 // Token: 0x04000066 RID: 102
568 internal uint Gid;
569
570 // Token: 0x04000067 RID: 103
571 internal long Size;
572
573 // Token: 0x04000068 RID: 104
574 internal long ATime;
575
576 // Token: 0x04000069 RID: 105
577 internal long ATimeNsec;
578
579 // Token: 0x0400006A RID: 106
580 internal long MTime;
581
582 // Token: 0x0400006B RID: 107
583 internal long MTimeNsec;
584
585 // Token: 0x0400006C RID: 108
586 internal long CTime;
587
588 // Token: 0x0400006D RID: 109
589 internal long CTimeNsec;
590
591 // Token: 0x0400006E RID: 110
592 internal long BirthTime;
593
594 // Token: 0x0400006F RID: 111
595 internal long BirthTimeNsec;
596
597 // Token: 0x04000070 RID: 112
598 internal long Dev;
599
600 // Token: 0x04000071 RID: 113
601 internal long Ino;
602
603 // Token: 0x04000072 RID: 114
604 internal uint UserFlags;
605 }
606
607 // Token: 0x02000009 RID: 9
608 [Flags]
609 internal enum FileStatusFlags
610 {
611 // Token: 0x04000074 RID: 116
612 None = 0,
613 // Token: 0x04000075 RID: 117
614 HasBirthTime = 1
615 }
616
617 // Token: 0x0200000A RID: 10
618 [Flags]
619 internal enum Permissions
620 {
621 // Token: 0x04000077 RID: 119
622 Mask = 511,
623 // Token: 0x04000078 RID: 120
624 S_IRWXU = 448,
625 // Token: 0x04000079 RID: 121
626 S_IRUSR = 256,
627 // Token: 0x0400007A RID: 122
628 S_IWUSR = 128,
629 // Token: 0x0400007B RID: 123
630 S_IXUSR = 64,
631 // Token: 0x0400007C RID: 124
632 S_IRWXG = 56,
633 // Token: 0x0400007D RID: 125
634 S_IRGRP = 32,
635 // Token: 0x0400007E RID: 126
636 S_IWGRP = 16,
637 // Token: 0x0400007F RID: 127
638 S_IXGRP = 8,
639 // Token: 0x04000080 RID: 128
640 S_IRWXO = 7,
641 // Token: 0x04000081 RID: 129
642 S_IROTH = 4,
643 // Token: 0x04000082 RID: 130
644 S_IWOTH = 2,
645 // Token: 0x04000083 RID: 131
646 S_IXOTH = 1
647 }
648 }
649}
class f__AnonymousType0<< Count > j__TPar
static uint GetEUid()
static int MkDir(string path, int mode)
static int Symlink(string target, string linkPath)
static int GetReadDirRBufferSize()
static int ChMod(string path, int mode)
static int LStat(ReadOnlySpan< char > path, [Out] Interop.Sys.FileStatus output)
Definition Interop.cs:472
static int CopyFile(SafeFileHandle source, SafeFileHandle destination)
static int ConvertErrorPalToPlatform(Interop.Error error)
static Interop.ErrorInfo GetLastErrorInfo()
Definition Interop.cs:321
static Sys()
Definition Interop.cs:506
static uint GetEGid()
static string StrError(int platformErrno)
Definition Interop.cs:345
static unsafe void GetNonCryptographicallySecureRandomBytes(byte *buffer, int length)
static IntPtr OpenDir(string path)
static int CloseDir(IntPtr dir)
static int LStat(byte path, [Out] Interop.Sys.FileStatus output)
static unsafe int DoubleToString(double value, byte *format, byte *buffer, int bufferLength)
Definition Interop.cs:499
static unsafe byte * StrErrorR(int platformErrno, byte *buffer, int bufferSize)
static int Unlink(string pathname)
static int Rename(string oldPath, string newPath)
static int Stat(ReadOnlySpan< char > path, [Out] Interop.Sys.FileStatus output)
Definition Interop.cs:445
static int LStat(string path, [Out] Interop.Sys.FileStatus output)
static int Stat(byte path, [Out] Interop.Sys.FileStatus output)
static int Stat(string path, [Out] Interop.Sys.FileStatus output)
static readonly bool CanSetHiddenFlag
Definition Interop.cs:511
static unsafe int ReadDirR(IntPtr dir, byte *buffer, int bufferSize, [Out] Interop.Sys.DirectoryEntry outputEntry)
static int LChflagsCanSetHiddenFlag()
static string ReadLink(string path)
Definition Interop.cs:382
static Interop.Error ConvertErrorPlatformToPal(int platformErrno)
static int Link(string source, string link)
static int ReadLink(string path, byte[] buffer, int bufferSize)
static int LChflags(string path, uint flags)
static int CheckIo(int result, [Optional] string path, bool isDirectory=false, [Optional] Func< Interop.ErrorInfo, Interop.ErrorInfo > errorRewriter)
Definition Interop.cs:58
static long CheckIo(long result, [Optional] string path, bool isDirectory=false, [Optional] Func< Interop.ErrorInfo, Interop.ErrorInfo > errorRewriter)
Definition Interop.cs:34
static Exception GetIOException(Interop.ErrorInfo errorInfo)
Definition Interop.cs:74
static unsafe void GetRandomBytes(byte *buffer, int length)
Definition Interop.cs:80
static Exception GetExceptionForIoErrno(Interop.ErrorInfo errorInfo, [Optional] string path, bool isDirectory=false)
Definition Interop.cs:64
static void ThrowExceptionForIoErrno(Interop.ErrorInfo errorInfo, string path, bool isDirectory, Func< Interop.ErrorInfo, Interop.ErrorInfo > errorRewriter)
Definition Interop.cs:10
static string Format(string resourceFormat, params object[] args)
Definition SR.cs:33
Definition SR.cs:7
override string ToString()
Definition Interop.cs:302
string GetErrorMessage()
Definition Interop.cs:296
Interop.Error _error
Definition Interop.cs:311
ErrorInfo(Interop.Error error)
Definition Interop.cs:267
ErrorInfo(int errno)
Definition Interop.cs:258
Interop.Sys.NodeType InodeType
Definition Interop.cs:552
ReadOnlySpan< char > GetName(Span< char > buffer)
Definition Interop.cs:540
Interop.Sys.FileStatusFlags Flags
Definition Interop.cs:559