Syscall wrapper and stack destruction

Eugene V. tech.vindex at gmail.com
Mon Jul 19 22:32:29 UTC 2021


The real structure is different from the documented one. The 
problem was the difference in the size of the structures. The 
issue has been resolved.
```
extern(C)
struct statx_t {
    // 0x00
    uint stx_mask;
    uint stx_blksize;
    ulong stx_attributes;
    // 0x10
    uint stx_nlink;
    uint stx_uid;
    uint stx_gid;
    ushort stx_mode;
    ushort[1] __spare0;
    // 0x20
    ulong stx_ino;
    ulong stx_size;
    ulong stx_blocks;
    ulong stx_attributes_mask;
    // 0x40
    timestamp_t stx_atime;
    timestamp_t stx_btime;
    timestamp_t stx_ctime;
    timestamp_t stx_mtime;
    // 0x80
    uint stx_rdev_major;
    uint stx_rdev_minor;
    uint stx_dev_major;
    uint stx_dev_minor;
    /* // 0x90 */
    ulong stx_mnt_id;
    ulong __spare2;
    // 0xA0
    ulong[12] __spare3;	// Spare space for future expansion
}
```


More information about the Digitalmars-d-learn mailing list