[Map ("struct flock")]
public struct Flock
-#if NET_2_0
: IEquatable <Flock>
-#endif
{
[CLSCompliant (false)]
public LockType l_type; // Type of lock: F_RDLCK, F_WRLCK, F_UNLCK
[Map ("struct pollfd")]
public struct Pollfd
-#if NET_2_0
: IEquatable <Pollfd>
-#endif
{
public int fd;
[CLSCompliant (false)]
// Use manually written To/From methods to handle fields st_atime_nsec etc.
public struct Stat
-#if NET_2_0
: IEquatable <Stat>
-#endif
{
[CLSCompliant (false)]
[dev_t] public ulong st_dev; // device
[Map]
[CLSCompliant (false)]
public struct Statvfs
-#if NET_2_0
: IEquatable <Statvfs>
-#endif
{
public ulong f_bsize; // file system block size
public ulong f_frsize; // fragment size
[Map ("struct timeval")]
public struct Timeval
-#if NET_2_0
: IEquatable <Timeval>
-#endif
{
[time_t] public long tv_sec; // seconds
[suseconds_t] public long tv_usec; // microseconds
[Map ("struct timezone")]
public struct Timezone
-#if NET_2_0
: IEquatable <Timezone>
-#endif
{
public int tz_minuteswest; // minutes W of Greenwich
#pragma warning disable 169
[Map ("struct utimbuf")]
public struct Utimbuf
-#if NET_2_0
: IEquatable <Utimbuf>
-#endif
{
[time_t] public long actime; // access time
[time_t] public long modtime; // modification time
[Map ("struct timespec")]
public struct Timespec
-#if NET_2_0
: IEquatable <Timespec>
-#endif
{
[time_t] public long tv_sec; // Seconds.
public long tv_nsec; // Nanoseconds.
#region Classes
public sealed class Dirent
-#if NET_2_0
: IEquatable <Dirent>
-#endif
{
[CLSCompliant (false)]
public /* ino_t */ ulong d_ino;
}
public sealed class Fstab
-#if NET_2_0
: IEquatable <Fstab>
-#endif
{
public string fs_spec;
public string fs_file;
}
public sealed class Group
-#if NET_2_0
: IEquatable <Group>
-#endif
{
public string gr_name;
public string gr_passwd;
}
public sealed class Passwd
-#if NET_2_0
: IEquatable <Passwd>
-#endif
{
public string pw_name;
public string pw_passwd;
}
public sealed class Utsname
-#if NET_2_0
: IEquatable <Utsname>
-#endif
{
public string sysname;
public string nodename;