]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Include/IndustryStandard/VirtioFs.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / OvmfPkg / Include / IndustryStandard / VirtioFs.h
index 15fb28f95a28f0c5ce917205b708b7e9f66c97d8..dbcb62f6caf27b945eb3b0d6286f1e1485927e01 100644 (file)
 //\r
 // Lowest numbered queue for sending normal priority requests.\r
 //\r
-#define VIRTIO_FS_REQUEST_QUEUE 1\r
+#define VIRTIO_FS_REQUEST_QUEUE  1\r
 \r
 //\r
 // Number of bytes in the "VIRTIO_FS_CONFIG.Tag" field.\r
 //\r
-#define VIRTIO_FS_TAG_BYTES 36\r
+#define VIRTIO_FS_TAG_BYTES  36\r
 \r
 //\r
 // Device configuration layout.\r
@@ -40,12 +40,12 @@ typedef struct {
   // encoded bytes take up the entire Tag field, then there is no NUL\r
   // terminator.\r
   //\r
-  UINT8 Tag[VIRTIO_FS_TAG_BYTES];\r
+  UINT8     Tag[VIRTIO_FS_TAG_BYTES];\r
   //\r
   // The total number of request virtqueues exposed by the device (i.e.,\r
   // excluding the "hiprio" queue).\r
   //\r
-  UINT32 NumReqQueues;\r
+  UINT32    NumReqQueues;\r
 } VIRTIO_FS_CONFIG;\r
 #pragma pack ()\r
 \r
@@ -74,53 +74,56 @@ typedef struct {
 // interface version 7.32.\r
 //\r
 #define VIRTIO_FS_FUSE_MAJOR  7\r
-#define VIRTIO_FS_FUSE_MINOR 31\r
+#define VIRTIO_FS_FUSE_MINOR  31\r
 \r
 //\r
 // The inode number of the root directory.\r
 //\r
-#define VIRTIO_FS_FUSE_ROOT_DIR_NODE_ID 1\r
+#define VIRTIO_FS_FUSE_ROOT_DIR_NODE_ID  1\r
 \r
 //\r
 // Distinguished errno values.\r
 //\r
-#define VIRTIO_FS_FUSE_ERRNO_ENOENT (-2)\r
+#define VIRTIO_FS_FUSE_ERRNO_ENOENT  (-2)\r
 \r
 //\r
 // File mode bitmasks.\r
 //\r
-#define VIRTIO_FS_FUSE_MODE_TYPE_MASK 0170000u\r
-#define VIRTIO_FS_FUSE_MODE_TYPE_REG  0100000u\r
-#define VIRTIO_FS_FUSE_MODE_TYPE_DIR  0040000u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_RWXU 0000700u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_RUSR 0000400u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_WUSR 0000200u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_RWXG 0000070u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_RGRP 0000040u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_WGRP 0000020u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_RWXO 0000007u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_ROTH 0000004u\r
-#define VIRTIO_FS_FUSE_MODE_PERM_WOTH 0000002u\r
+#define VIRTIO_FS_FUSE_MODE_TYPE_MASK  0170000u\r
+#define VIRTIO_FS_FUSE_MODE_TYPE_REG   0100000u\r
+#define VIRTIO_FS_FUSE_MODE_TYPE_DIR   0040000u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_RWXU  0000700u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_RUSR  0000400u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_WUSR  0000200u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_XUSR  0000100u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_RWXG  0000070u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_RGRP  0000040u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_WGRP  0000020u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_XGRP  0000010u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_RWXO  0000007u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_ROTH  0000004u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_WOTH  0000002u\r
+#define VIRTIO_FS_FUSE_MODE_PERM_XOTH  0000001u\r
 \r
 //\r
 // Flags for VirtioFsFuseOpSetAttr, in the VIRTIO_FS_FUSE_SETATTR_REQUEST.Valid\r
 // field.\r
 //\r
-#define VIRTIO_FS_FUSE_SETATTR_REQ_F_MODE  BIT0\r
-#define VIRTIO_FS_FUSE_SETATTR_REQ_F_SIZE  BIT3\r
-#define VIRTIO_FS_FUSE_SETATTR_REQ_F_ATIME BIT4\r
-#define VIRTIO_FS_FUSE_SETATTR_REQ_F_MTIME BIT5\r
+#define VIRTIO_FS_FUSE_SETATTR_REQ_F_MODE   BIT0\r
+#define VIRTIO_FS_FUSE_SETATTR_REQ_F_SIZE   BIT3\r
+#define VIRTIO_FS_FUSE_SETATTR_REQ_F_ATIME  BIT4\r
+#define VIRTIO_FS_FUSE_SETATTR_REQ_F_MTIME  BIT5\r
 \r
 //\r
 // Flags for VirtioFsFuseOpOpen.\r
 //\r
-#define VIRTIO_FS_FUSE_OPEN_REQ_F_RDONLY 0\r
-#define VIRTIO_FS_FUSE_OPEN_REQ_F_RDWR   2\r
+#define VIRTIO_FS_FUSE_OPEN_REQ_F_RDONLY  0\r
+#define VIRTIO_FS_FUSE_OPEN_REQ_F_RDWR    2\r
 \r
 //\r
 // Flags for VirtioFsFuseOpInit.\r
 //\r
-#define VIRTIO_FS_FUSE_INIT_REQ_F_DO_READDIRPLUS BIT13\r
+#define VIRTIO_FS_FUSE_INIT_REQ_F_DO_READDIRPLUS  BIT13\r
 \r
 /**\r
   Macro for calculating the size of a directory stream entry.\r
@@ -153,7 +156,7 @@ typedef struct {
 //\r
 // Flags for VirtioFsFuseOpRename2.\r
 //\r
-#define VIRTIO_FS_FUSE_RENAME2_REQ_F_NOREPLACE BIT0\r
+#define VIRTIO_FS_FUSE_RENAME2_REQ_F_NOREPLACE  BIT0\r
 \r
 //\r
 // FUSE operation codes.\r
@@ -187,20 +190,20 @@ typedef enum {
 // Request-response headers common to all request types.\r
 //\r
 typedef struct {\r
-  UINT32 Len;\r
-  UINT32 Opcode;\r
-  UINT64 Unique;\r
-  UINT64 NodeId;\r
-  UINT32 Uid;\r
-  UINT32 Gid;\r
-  UINT32 Pid;\r
-  UINT32 Padding;\r
+  UINT32    Len;\r
+  UINT32    Opcode;\r
+  UINT64    Unique;\r
+  UINT64    NodeId;\r
+  UINT32    Uid;\r
+  UINT32    Gid;\r
+  UINT32    Pid;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_REQUEST;\r
 \r
 typedef struct {\r
-  UINT32 Len;\r
-  INT32  Error;\r
-  UINT64 Unique;\r
+  UINT32    Len;\r
+  INT32     Error;\r
+  UINT64    Unique;\r
 } VIRTIO_FS_FUSE_RESPONSE;\r
 \r
 //\r
@@ -210,12 +213,12 @@ typedef struct {
 // an inode.\r
 //\r
 typedef struct {\r
-  UINT64 NodeId;\r
-  UINT64 Generation;\r
-  UINT64 EntryValid;\r
-  UINT64 AttrValid;\r
-  UINT32 EntryValidNsec;\r
-  UINT32 AttrValidNsec;\r
+  UINT64    NodeId;\r
+  UINT64    Generation;\r
+  UINT64    EntryValid;\r
+  UINT64    AttrValid;\r
+  UINT32    EntryValidNsec;\r
+  UINT32    AttrValidNsec;\r
 } VIRTIO_FS_FUSE_NODE_RESPONSE;\r
 \r
 //\r
@@ -224,29 +227,29 @@ typedef struct {
 // an inode.\r
 //\r
 typedef struct {\r
-  UINT64 Ino;\r
-  UINT64 Size;\r
-  UINT64 Blocks;\r
-  UINT64 Atime;\r
-  UINT64 Mtime;\r
-  UINT64 Ctime;\r
-  UINT32 AtimeNsec;\r
-  UINT32 MtimeNsec;\r
-  UINT32 CtimeNsec;\r
-  UINT32 Mode;\r
-  UINT32 Nlink;\r
-  UINT32 Uid;\r
-  UINT32 Gid;\r
-  UINT32 Rdev;\r
-  UINT32 Blksize;\r
-  UINT32 Padding;\r
+  UINT64    Ino;\r
+  UINT64    Size;\r
+  UINT64    Blocks;\r
+  UINT64    Atime;\r
+  UINT64    Mtime;\r
+  UINT64    Ctime;\r
+  UINT32    AtimeNsec;\r
+  UINT32    MtimeNsec;\r
+  UINT32    CtimeNsec;\r
+  UINT32    Mode;\r
+  UINT32    Nlink;\r
+  UINT32    Uid;\r
+  UINT32    Gid;\r
+  UINT32    Rdev;\r
+  UINT32    Blksize;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_ATTRIBUTES_RESPONSE;\r
 \r
 //\r
 // Header for VirtioFsFuseOpForget.\r
 //\r
 typedef struct {\r
-  UINT64 NumberOfLookups;\r
+  UINT64    NumberOfLookups;\r
 } VIRTIO_FS_FUSE_FORGET_REQUEST;\r
 \r
 //\r
@@ -254,169 +257,169 @@ typedef struct {
 // for VirtioFsFuseOpSetAttr).\r
 //\r
 typedef struct {\r
-  UINT32 GetAttrFlags;\r
-  UINT32 Dummy;\r
-  UINT64 FileHandle;\r
+  UINT32    GetAttrFlags;\r
+  UINT32    Dummy;\r
+  UINT64    FileHandle;\r
 } VIRTIO_FS_FUSE_GETATTR_REQUEST;\r
 \r
 typedef struct {\r
-  UINT64 AttrValid;\r
-  UINT32 AttrValidNsec;\r
-  UINT32 Dummy;\r
+  UINT64    AttrValid;\r
+  UINT32    AttrValidNsec;\r
+  UINT32    Dummy;\r
 } VIRTIO_FS_FUSE_GETATTR_RESPONSE;\r
 \r
 //\r
 // Header for VirtioFsFuseOpSetAttr.\r
 //\r
 typedef struct {\r
-  UINT32 Valid;\r
-  UINT32 Padding;\r
-  UINT64 FileHandle;\r
-  UINT64 Size;\r
-  UINT64 LockOwner;\r
-  UINT64 Atime;\r
-  UINT64 Mtime;\r
-  UINT64 Ctime;\r
-  UINT32 AtimeNsec;\r
-  UINT32 MtimeNsec;\r
-  UINT32 CtimeNsec;\r
-  UINT32 Mode;\r
-  UINT32 Unused4;\r
-  UINT32 Uid;\r
-  UINT32 Gid;\r
-  UINT32 Unused5;\r
+  UINT32    Valid;\r
+  UINT32    Padding;\r
+  UINT64    FileHandle;\r
+  UINT64    Size;\r
+  UINT64    LockOwner;\r
+  UINT64    Atime;\r
+  UINT64    Mtime;\r
+  UINT64    Ctime;\r
+  UINT32    AtimeNsec;\r
+  UINT32    MtimeNsec;\r
+  UINT32    CtimeNsec;\r
+  UINT32    Mode;\r
+  UINT32    Unused4;\r
+  UINT32    Uid;\r
+  UINT32    Gid;\r
+  UINT32    Unused5;\r
 } VIRTIO_FS_FUSE_SETATTR_REQUEST;\r
 \r
 //\r
 // Header for VirtioFsFuseOpMkDir.\r
 //\r
 typedef struct {\r
-  UINT32 Mode;\r
-  UINT32 Umask;\r
+  UINT32    Mode;\r
+  UINT32    Umask;\r
 } VIRTIO_FS_FUSE_MKDIR_REQUEST;\r
 \r
 //\r
 // Headers for VirtioFsFuseOpOpen and VirtioFsFuseOpOpenDir.\r
 //\r
 typedef struct {\r
-  UINT32 Flags;\r
-  UINT32 Unused;\r
+  UINT32    Flags;\r
+  UINT32    Unused;\r
 } VIRTIO_FS_FUSE_OPEN_REQUEST;\r
 \r
 typedef struct {\r
-  UINT64 FileHandle;\r
-  UINT32 OpenFlags;\r
-  UINT32 Padding;\r
+  UINT64    FileHandle;\r
+  UINT32    OpenFlags;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_OPEN_RESPONSE;\r
 \r
 //\r
 // Header for VirtioFsFuseOpRead and VirtioFsFuseOpReadDirPlus.\r
 //\r
 typedef struct {\r
-  UINT64 FileHandle;\r
-  UINT64 Offset;\r
-  UINT32 Size;\r
-  UINT32 ReadFlags;\r
-  UINT64 LockOwner;\r
-  UINT32 Flags;\r
-  UINT32 Padding;\r
+  UINT64    FileHandle;\r
+  UINT64    Offset;\r
+  UINT32    Size;\r
+  UINT32    ReadFlags;\r
+  UINT64    LockOwner;\r
+  UINT32    Flags;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_READ_REQUEST;\r
 \r
 //\r
 // Headers for VirtioFsFuseOpWrite.\r
 //\r
 typedef struct {\r
-  UINT64 FileHandle;\r
-  UINT64 Offset;\r
-  UINT32 Size;\r
-  UINT32 WriteFlags;\r
-  UINT64 LockOwner;\r
-  UINT32 Flags;\r
-  UINT32 Padding;\r
+  UINT64    FileHandle;\r
+  UINT64    Offset;\r
+  UINT32    Size;\r
+  UINT32    WriteFlags;\r
+  UINT64    LockOwner;\r
+  UINT32    Flags;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_WRITE_REQUEST;\r
 \r
 typedef struct {\r
-  UINT32 Size;\r
-  UINT32 Padding;\r
+  UINT32    Size;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_WRITE_RESPONSE;\r
 \r
 //\r
 // Header for VirtioFsFuseOpStatFs.\r
 //\r
 typedef struct {\r
-  UINT64 Blocks;\r
-  UINT64 Bfree;\r
-  UINT64 Bavail;\r
-  UINT64 Files;\r
-  UINT64 Ffree;\r
-  UINT32 Bsize;\r
-  UINT32 Namelen;\r
-  UINT32 Frsize;\r
-  UINT32 Padding;\r
-  UINT32 Spare[6];\r
+  UINT64    Blocks;\r
+  UINT64    Bfree;\r
+  UINT64    Bavail;\r
+  UINT64    Files;\r
+  UINT64    Ffree;\r
+  UINT32    Bsize;\r
+  UINT32    Namelen;\r
+  UINT32    Frsize;\r
+  UINT32    Padding;\r
+  UINT32    Spare[6];\r
 } VIRTIO_FS_FUSE_STATFS_RESPONSE;\r
 \r
 //\r
 // Header for VirtioFsFuseOpRelease and VirtioFsFuseOpReleaseDir.\r
 //\r
 typedef struct {\r
-  UINT64 FileHandle;\r
-  UINT32 Flags;\r
-  UINT32 ReleaseFlags;\r
-  UINT64 LockOwner;\r
+  UINT64    FileHandle;\r
+  UINT32    Flags;\r
+  UINT32    ReleaseFlags;\r
+  UINT64    LockOwner;\r
 } VIRTIO_FS_FUSE_RELEASE_REQUEST;\r
 \r
 //\r
 // Header for VirtioFsFuseOpFsync and VirtioFsFuseOpFsyncDir.\r
 //\r
 typedef struct {\r
-  UINT64 FileHandle;\r
-  UINT32 FsyncFlags;\r
-  UINT32 Padding;\r
+  UINT64    FileHandle;\r
+  UINT32    FsyncFlags;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_FSYNC_REQUEST;\r
 \r
 //\r
 // Header for VirtioFsFuseOpFlush.\r
 //\r
 typedef struct {\r
-  UINT64 FileHandle;\r
-  UINT32 Unused;\r
-  UINT32 Padding;\r
-  UINT64 LockOwner;\r
+  UINT64    FileHandle;\r
+  UINT32    Unused;\r
+  UINT32    Padding;\r
+  UINT64    LockOwner;\r
 } VIRTIO_FS_FUSE_FLUSH_REQUEST;\r
 \r
 //\r
 // Headers for VirtioFsFuseOpInit.\r
 //\r
 typedef struct {\r
-  UINT32 Major;\r
-  UINT32 Minor;\r
-  UINT32 MaxReadahead;\r
-  UINT32 Flags;\r
+  UINT32    Major;\r
+  UINT32    Minor;\r
+  UINT32    MaxReadahead;\r
+  UINT32    Flags;\r
 } VIRTIO_FS_FUSE_INIT_REQUEST;\r
 \r
 typedef struct {\r
-  UINT32 Major;\r
-  UINT32 Minor;\r
-  UINT32 MaxReadahead;\r
-  UINT32 Flags;\r
-  UINT16 MaxBackground;\r
-  UINT16 CongestionThreshold;\r
-  UINT32 MaxWrite;\r
-  UINT32 TimeGran;\r
-  UINT16 MaxPages;\r
-  UINT16 MapAlignment;\r
-  UINT32 Unused[8];\r
+  UINT32    Major;\r
+  UINT32    Minor;\r
+  UINT32    MaxReadahead;\r
+  UINT32    Flags;\r
+  UINT16    MaxBackground;\r
+  UINT16    CongestionThreshold;\r
+  UINT32    MaxWrite;\r
+  UINT32    TimeGran;\r
+  UINT16    MaxPages;\r
+  UINT16    MapAlignment;\r
+  UINT32    Unused[8];\r
 } VIRTIO_FS_FUSE_INIT_RESPONSE;\r
 \r
 //\r
 // Header for VirtioFsFuseOpCreate.\r
 //\r
 typedef struct {\r
-  UINT32 Flags;\r
-  UINT32 Mode;\r
-  UINT32 Umask;\r
-  UINT32 Padding;\r
+  UINT32    Flags;\r
+  UINT32    Mode;\r
+  UINT32    Umask;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_CREATE_REQUEST;\r
 \r
 //\r
@@ -430,21 +433,21 @@ typedef struct {
 // sizes.\r
 //\r
 typedef struct {\r
-  VIRTIO_FS_FUSE_NODE_RESPONSE       NodeResp;\r
-  VIRTIO_FS_FUSE_ATTRIBUTES_RESPONSE AttrResp;\r
-  UINT64                             NodeId;\r
-  UINT64                             CookieForNextEntry;\r
-  UINT32                             Namelen;\r
-  UINT32                             Type;\r
+  VIRTIO_FS_FUSE_NODE_RESPONSE          NodeResp;\r
+  VIRTIO_FS_FUSE_ATTRIBUTES_RESPONSE    AttrResp;\r
+  UINT64                                NodeId;\r
+  UINT64                                CookieForNextEntry;\r
+  UINT32                                Namelen;\r
+  UINT32                                Type;\r
 } VIRTIO_FS_FUSE_DIRENTPLUS_RESPONSE;\r
 \r
 //\r
 // Header for VirtioFsFuseOpRename2.\r
 //\r
 typedef struct {\r
-  UINT64 NewDir;\r
-  UINT32 Flags;\r
-  UINT32 Padding;\r
+  UINT64    NewDir;\r
+  UINT32    Flags;\r
+  UINT32    Padding;\r
 } VIRTIO_FS_FUSE_RENAME2_REQUEST;\r
 #pragma pack ()\r
 \r