2 * This file was automatically generated by make-map from Mono.Posix.dll.
8 using System
.Runtime
.InteropServices
;
11 namespace Mono
.Posix
{
13 public sealed /* static */ class PosixConvert
15 private PosixConvert () {}
17 private const string LIB
= "MonoPosixHelper";
19 private static void ThrowArgumentException (object value)
21 throw new ArgumentOutOfRangeException ("value", value,
22 Locale
.GetText ("Current platform doesn't support this value."));
25 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromError")]
26 private static extern int FromError (Error
value, out Int32 rval
);
28 public static bool TryFromError (Error
value, out Int32 rval
)
30 return FromError (value, out rval
) == 0;
33 public static Int32
FromError (Error
value)
36 if (FromError (value, out rval
) == -1)
37 ThrowArgumentException (value);
41 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToError")]
42 private static extern int ToError (Int32
value, out Error rval
);
44 public static bool TryToError (Int32
value, out Error rval
)
46 return ToError (value, out rval
) == 0;
49 public static Error
ToError (Int32
value)
52 if (ToError (value, out rval
) == -1)
53 ThrowArgumentException (value);
57 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromOpenFlags")]
58 private static extern int FromOpenFlags (OpenFlags
value, out Int32 rval
);
60 public static bool TryFromOpenFlags (OpenFlags
value, out Int32 rval
)
62 return FromOpenFlags (value, out rval
) == 0;
65 public static Int32
FromOpenFlags (OpenFlags
value)
68 if (FromOpenFlags (value, out rval
) == -1)
69 ThrowArgumentException (value);
73 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToOpenFlags")]
74 private static extern int ToOpenFlags (Int32
value, out OpenFlags rval
);
76 public static bool TryToOpenFlags (Int32
value, out OpenFlags rval
)
78 return ToOpenFlags (value, out rval
) == 0;
81 public static OpenFlags
ToOpenFlags (Int32
value)
84 if (ToOpenFlags (value, out rval
) == -1)
85 ThrowArgumentException (value);
89 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromFilePermissions")]
90 private static extern int FromFilePermissions (FilePermissions
value, out UInt32 rval
);
92 public static bool TryFromFilePermissions (FilePermissions
value, out UInt32 rval
)
94 return FromFilePermissions (value, out rval
) == 0;
97 public static UInt32
FromFilePermissions (FilePermissions
value)
100 if (FromFilePermissions (value, out rval
) == -1)
101 ThrowArgumentException (value);
105 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToFilePermissions")]
106 private static extern int ToFilePermissions (UInt32
value, out FilePermissions rval
);
108 public static bool TryToFilePermissions (UInt32
value, out FilePermissions rval
)
110 return ToFilePermissions (value, out rval
) == 0;
113 public static FilePermissions
ToFilePermissions (UInt32
value)
115 FilePermissions rval
;
116 if (ToFilePermissions (value, out rval
) == -1)
117 ThrowArgumentException (value);
121 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromFcntlCommand")]
122 private static extern int FromFcntlCommand (FcntlCommand
value, out Int32 rval
);
124 public static bool TryFromFcntlCommand (FcntlCommand
value, out Int32 rval
)
126 return FromFcntlCommand (value, out rval
) == 0;
129 public static Int32
FromFcntlCommand (FcntlCommand
value)
132 if (FromFcntlCommand (value, out rval
) == -1)
133 ThrowArgumentException (value);
137 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToFcntlCommand")]
138 private static extern int ToFcntlCommand (Int32
value, out FcntlCommand rval
);
140 public static bool TryToFcntlCommand (Int32
value, out FcntlCommand rval
)
142 return ToFcntlCommand (value, out rval
) == 0;
145 public static FcntlCommand
ToFcntlCommand (Int32
value)
148 if (ToFcntlCommand (value, out rval
) == -1)
149 ThrowArgumentException (value);
153 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromLockType")]
154 private static extern int FromLockType (LockType
value, out Int16 rval
);
156 public static bool TryFromLockType (LockType
value, out Int16 rval
)
158 return FromLockType (value, out rval
) == 0;
161 public static Int16
FromLockType (LockType
value)
164 if (FromLockType (value, out rval
) == -1)
165 ThrowArgumentException (value);
169 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToLockType")]
170 private static extern int ToLockType (Int16
value, out LockType rval
);
172 public static bool TryToLockType (Int16
value, out LockType rval
)
174 return ToLockType (value, out rval
) == 0;
177 public static LockType
ToLockType (Int16
value)
180 if (ToLockType (value, out rval
) == -1)
181 ThrowArgumentException (value);
185 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromSeekFlags")]
186 private static extern int FromSeekFlags (SeekFlags
value, out Int16 rval
);
188 public static bool TryFromSeekFlags (SeekFlags
value, out Int16 rval
)
190 return FromSeekFlags (value, out rval
) == 0;
193 public static Int16
FromSeekFlags (SeekFlags
value)
196 if (FromSeekFlags (value, out rval
) == -1)
197 ThrowArgumentException (value);
201 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToSeekFlags")]
202 private static extern int ToSeekFlags (Int16
value, out SeekFlags rval
);
204 public static bool TryToSeekFlags (Int16
value, out SeekFlags rval
)
206 return ToSeekFlags (value, out rval
) == 0;
209 public static SeekFlags
ToSeekFlags (Int16
value)
212 if (ToSeekFlags (value, out rval
) == -1)
213 ThrowArgumentException (value);
217 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromDirectoryNotifyFlags")]
218 private static extern int FromDirectoryNotifyFlags (DirectoryNotifyFlags
value, out Int32 rval
);
220 public static bool TryFromDirectoryNotifyFlags (DirectoryNotifyFlags
value, out Int32 rval
)
222 return FromDirectoryNotifyFlags (value, out rval
) == 0;
225 public static Int32
FromDirectoryNotifyFlags (DirectoryNotifyFlags
value)
228 if (FromDirectoryNotifyFlags (value, out rval
) == -1)
229 ThrowArgumentException (value);
233 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToDirectoryNotifyFlags")]
234 private static extern int ToDirectoryNotifyFlags (Int32
value, out DirectoryNotifyFlags rval
);
236 public static bool TryToDirectoryNotifyFlags (Int32
value, out DirectoryNotifyFlags rval
)
238 return ToDirectoryNotifyFlags (value, out rval
) == 0;
241 public static DirectoryNotifyFlags
ToDirectoryNotifyFlags (Int32
value)
243 DirectoryNotifyFlags rval
;
244 if (ToDirectoryNotifyFlags (value, out rval
) == -1)
245 ThrowArgumentException (value);
249 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromPosixFadviseAdvice")]
250 private static extern int FromPosixFadviseAdvice (PosixFadviseAdvice
value, out Int32 rval
);
252 public static bool TryFromPosixFadviseAdvice (PosixFadviseAdvice
value, out Int32 rval
)
254 return FromPosixFadviseAdvice (value, out rval
) == 0;
257 public static Int32
FromPosixFadviseAdvice (PosixFadviseAdvice
value)
260 if (FromPosixFadviseAdvice (value, out rval
) == -1)
261 ThrowArgumentException (value);
265 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToPosixFadviseAdvice")]
266 private static extern int ToPosixFadviseAdvice (Int32
value, out PosixFadviseAdvice rval
);
268 public static bool TryToPosixFadviseAdvice (Int32
value, out PosixFadviseAdvice rval
)
270 return ToPosixFadviseAdvice (value, out rval
) == 0;
273 public static PosixFadviseAdvice
ToPosixFadviseAdvice (Int32
value)
275 PosixFadviseAdvice rval
;
276 if (ToPosixFadviseAdvice (value, out rval
) == -1)
277 ThrowArgumentException (value);
281 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromPosixMadviseAdvice")]
282 private static extern int FromPosixMadviseAdvice (PosixMadviseAdvice
value, out Int32 rval
);
284 public static bool TryFromPosixMadviseAdvice (PosixMadviseAdvice
value, out Int32 rval
)
286 return FromPosixMadviseAdvice (value, out rval
) == 0;
289 public static Int32
FromPosixMadviseAdvice (PosixMadviseAdvice
value)
292 if (FromPosixMadviseAdvice (value, out rval
) == -1)
293 ThrowArgumentException (value);
297 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToPosixMadviseAdvice")]
298 private static extern int ToPosixMadviseAdvice (Int32
value, out PosixMadviseAdvice rval
);
300 public static bool TryToPosixMadviseAdvice (Int32
value, out PosixMadviseAdvice rval
)
302 return ToPosixMadviseAdvice (value, out rval
) == 0;
305 public static PosixMadviseAdvice
ToPosixMadviseAdvice (Int32
value)
307 PosixMadviseAdvice rval
;
308 if (ToPosixMadviseAdvice (value, out rval
) == -1)
309 ThrowArgumentException (value);
313 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromSignum")]
314 private static extern int FromSignum (Signum
value, out Int32 rval
);
316 public static bool TryFromSignum (Signum
value, out Int32 rval
)
318 return FromSignum (value, out rval
) == 0;
321 public static Int32
FromSignum (Signum
value)
324 if (FromSignum (value, out rval
) == -1)
325 ThrowArgumentException (value);
329 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToSignum")]
330 private static extern int ToSignum (Int32
value, out Signum rval
);
332 public static bool TryToSignum (Int32
value, out Signum rval
)
334 return ToSignum (value, out rval
) == 0;
337 public static Signum
ToSignum (Int32
value)
340 if (ToSignum (value, out rval
) == -1)
341 ThrowArgumentException (value);
345 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromMountFlags")]
346 private static extern int FromMountFlags (MountFlags
value, out UInt64 rval
);
348 public static bool TryFromMountFlags (MountFlags
value, out UInt64 rval
)
350 return FromMountFlags (value, out rval
) == 0;
353 public static UInt64
FromMountFlags (MountFlags
value)
356 if (FromMountFlags (value, out rval
) == -1)
357 ThrowArgumentException (value);
361 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToMountFlags")]
362 private static extern int ToMountFlags (UInt64
value, out MountFlags rval
);
364 public static bool TryToMountFlags (UInt64
value, out MountFlags rval
)
366 return ToMountFlags (value, out rval
) == 0;
369 public static MountFlags
ToMountFlags (UInt64
value)
372 if (ToMountFlags (value, out rval
) == -1)
373 ThrowArgumentException (value);
377 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromUmountFlags")]
378 private static extern int FromUmountFlags (UmountFlags
value, out Int32 rval
);
380 public static bool TryFromUmountFlags (UmountFlags
value, out Int32 rval
)
382 return FromUmountFlags (value, out rval
) == 0;
385 public static Int32
FromUmountFlags (UmountFlags
value)
388 if (FromUmountFlags (value, out rval
) == -1)
389 ThrowArgumentException (value);
393 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToUmountFlags")]
394 private static extern int ToUmountFlags (Int32
value, out UmountFlags rval
);
396 public static bool TryToUmountFlags (Int32
value, out UmountFlags rval
)
398 return ToUmountFlags (value, out rval
) == 0;
401 public static UmountFlags
ToUmountFlags (Int32
value)
404 if (ToUmountFlags (value, out rval
) == -1)
405 ThrowArgumentException (value);
409 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromWaitOptions")]
410 private static extern int FromWaitOptions (WaitOptions
value, out Int32 rval
);
412 public static bool TryFromWaitOptions (WaitOptions
value, out Int32 rval
)
414 return FromWaitOptions (value, out rval
) == 0;
417 public static Int32
FromWaitOptions (WaitOptions
value)
420 if (FromWaitOptions (value, out rval
) == -1)
421 ThrowArgumentException (value);
425 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToWaitOptions")]
426 private static extern int ToWaitOptions (Int32
value, out WaitOptions rval
);
428 public static bool TryToWaitOptions (Int32
value, out WaitOptions rval
)
430 return ToWaitOptions (value, out rval
) == 0;
433 public static WaitOptions
ToWaitOptions (Int32
value)
436 if (ToWaitOptions (value, out rval
) == -1)
437 ThrowArgumentException (value);
441 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromAccessMode")]
442 private static extern int FromAccessMode (AccessMode
value, out Int32 rval
);
444 public static bool TryFromAccessMode (AccessMode
value, out Int32 rval
)
446 return FromAccessMode (value, out rval
) == 0;
449 public static Int32
FromAccessMode (AccessMode
value)
452 if (FromAccessMode (value, out rval
) == -1)
453 ThrowArgumentException (value);
457 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToAccessMode")]
458 private static extern int ToAccessMode (Int32
value, out AccessMode rval
);
460 public static bool TryToAccessMode (Int32
value, out AccessMode rval
)
462 return ToAccessMode (value, out rval
) == 0;
465 public static AccessMode
ToAccessMode (Int32
value)
468 if (ToAccessMode (value, out rval
) == -1)
469 ThrowArgumentException (value);
473 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromPathConf")]
474 private static extern int FromPathConf (PathConf
value, out Int32 rval
);
476 public static bool TryFromPathConf (PathConf
value, out Int32 rval
)
478 return FromPathConf (value, out rval
) == 0;
481 public static Int32
FromPathConf (PathConf
value)
484 if (FromPathConf (value, out rval
) == -1)
485 ThrowArgumentException (value);
489 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToPathConf")]
490 private static extern int ToPathConf (Int32
value, out PathConf rval
);
492 public static bool TryToPathConf (Int32
value, out PathConf rval
)
494 return ToPathConf (value, out rval
) == 0;
497 public static PathConf
ToPathConf (Int32
value)
500 if (ToPathConf (value, out rval
) == -1)
501 ThrowArgumentException (value);
505 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromSysConf")]
506 private static extern int FromSysConf (SysConf
value, out Int32 rval
);
508 public static bool TryFromSysConf (SysConf
value, out Int32 rval
)
510 return FromSysConf (value, out rval
) == 0;
513 public static Int32
FromSysConf (SysConf
value)
516 if (FromSysConf (value, out rval
) == -1)
517 ThrowArgumentException (value);
521 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToSysConf")]
522 private static extern int ToSysConf (Int32
value, out SysConf rval
);
524 public static bool TryToSysConf (Int32
value, out SysConf rval
)
526 return ToSysConf (value, out rval
) == 0;
529 public static SysConf
ToSysConf (Int32
value)
532 if (ToSysConf (value, out rval
) == -1)
533 ThrowArgumentException (value);
537 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromConfStr")]
538 private static extern int FromConfStr (ConfStr
value, out Int32 rval
);
540 public static bool TryFromConfStr (ConfStr
value, out Int32 rval
)
542 return FromConfStr (value, out rval
) == 0;
545 public static Int32
FromConfStr (ConfStr
value)
548 if (FromConfStr (value, out rval
) == -1)
549 ThrowArgumentException (value);
553 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToConfStr")]
554 private static extern int ToConfStr (Int32
value, out ConfStr rval
);
556 public static bool TryToConfStr (Int32
value, out ConfStr rval
)
558 return ToConfStr (value, out rval
) == 0;
561 public static ConfStr
ToConfStr (Int32
value)
564 if (ToConfStr (value, out rval
) == -1)
565 ThrowArgumentException (value);
569 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromLockFlags")]
570 private static extern int FromLockFlags (LockFlags
value, out Int32 rval
);
572 public static bool TryFromLockFlags (LockFlags
value, out Int32 rval
)
574 return FromLockFlags (value, out rval
) == 0;
577 public static Int32
FromLockFlags (LockFlags
value)
580 if (FromLockFlags (value, out rval
) == -1)
581 ThrowArgumentException (value);
585 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToLockFlags")]
586 private static extern int ToLockFlags (Int32
value, out LockFlags rval
);
588 public static bool TryToLockFlags (Int32
value, out LockFlags rval
)
590 return ToLockFlags (value, out rval
) == 0;
593 public static LockFlags
ToLockFlags (Int32
value)
596 if (ToLockFlags (value, out rval
) == -1)
597 ThrowArgumentException (value);
601 [DllImport (LIB
, EntryPoint
="Mono_Posix_FromPollEvents")]
602 private static extern int FromPollEvents (PollEvents
value, out Int16 rval
);
604 public static bool TryFromPollEvents (PollEvents
value, out Int16 rval
)
606 return FromPollEvents (value, out rval
) == 0;
609 public static Int16
FromPollEvents (PollEvents
value)
612 if (FromPollEvents (value, out rval
) == -1)
613 ThrowArgumentException (value);
617 [DllImport (LIB
, EntryPoint
="Mono_Posix_ToPollEvents")]
618 private static extern int ToPollEvents (Int16
value, out PollEvents rval
);
620 public static bool TryToPollEvents (Int16
value, out PollEvents rval
)
622 return ToPollEvents (value, out rval
) == 0;
625 public static PollEvents
ToPollEvents (Int16
value)
628 if (ToPollEvents (value, out rval
) == -1)
629 ThrowArgumentException (value);
634 // Non-generated exports
637 // convert from octal representation.
638 public static FilePermissions
ToFilePermissions (string value)
640 uint n
= Convert
.ToUInt32 (value, 8);
641 return ToFilePermissions (n
);
644 public static readonly DateTime LocalUnixEpoch
=
645 new DateTime (1970, 1, 1).ToLocalTime();
646 public static readonly long UtcOffset
=
647 (long) (DateTime
.Now
.Subtract (DateTime
.UtcNow
).TotalSeconds
);
649 public static DateTime
ToDateTime (long time
)
651 return FromTimeT (time
);
654 public static long FromDateTime (DateTime time
)
656 return ToTimeT (time
);
659 public static DateTime
FromTimeT (long time
)
661 // Console.WriteLine ("** LocalUnixEpoch={0}; UtcOffset={1}; time={2}", LocalUnixEpoch, UtcOffset, time);
663 DateTime r
= LocalUnixEpoch
.AddSeconds (time
+ UtcOffset
);
664 // Console.WriteLine ("** result={0}", r);
668 public static long ToTimeT (DateTime time
)
670 return (long) time
.Subtract (LocalUnixEpoch
).TotalSeconds
;