Annotation of qemu/hw/9pfs/virtio-9p-proxy.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Virtio 9p Proxy callback
        !             3:  *
        !             4:  * Copyright IBM, Corp. 2011
        !             5:  *
        !             6:  * Authors:
        !             7:  * M. Mohan Kumar <[email protected]>
        !             8:  *
        !             9:  * This work is licensed under the terms of the GNU GPL, version 2.  See
        !            10:  * the COPYING file in the top-level directory.
        !            11:  */
        !            12: #ifndef _QEMU_VIRTIO_9P_PROXY_H
        !            13: #define _QEMU_VIRTIO_9P_PROXY_H
        !            14: 
        !            15: #define PROXY_MAX_IO_SZ (64 * 1024)
        !            16: #define V9FS_FD_VALID INT_MAX
        !            17: 
        !            18: /*
        !            19:  * proxy iovec only support one element and
        !            20:  * marsha/unmarshal doesn't do little endian conversion.
        !            21:  */
        !            22: #define proxy_unmarshal(in_sg, offset, fmt, args...) \
        !            23:     v9fs_unmarshal(in_sg, 1, offset, 0, fmt, ##args)
        !            24: #define proxy_marshal(out_sg, offset, fmt, args...) \
        !            25:     v9fs_marshal(out_sg, 1, offset, 0, fmt, ##args)
        !            26: 
        !            27: union MsgControl {
        !            28:     struct cmsghdr cmsg;
        !            29:     char control[CMSG_SPACE(sizeof(int))];
        !            30: };
        !            31: 
        !            32: typedef struct {
        !            33:     uint32_t type;
        !            34:     uint32_t size;
        !            35: } ProxyHeader;
        !            36: 
        !            37: #define PROXY_HDR_SZ (sizeof(ProxyHeader))
        !            38: 
        !            39: enum {
        !            40:     T_SUCCESS = 0,
        !            41:     T_ERROR,
        !            42:     T_OPEN,
        !            43:     T_CREATE,
        !            44:     T_MKNOD,
        !            45:     T_MKDIR,
        !            46:     T_SYMLINK,
        !            47:     T_LINK,
        !            48:     T_LSTAT,
        !            49:     T_READLINK,
        !            50:     T_STATFS,
        !            51:     T_CHMOD,
        !            52:     T_CHOWN,
        !            53:     T_TRUNCATE,
        !            54:     T_UTIME,
        !            55:     T_RENAME,
        !            56:     T_REMOVE,
        !            57:     T_LGETXATTR,
        !            58:     T_LLISTXATTR,
        !            59:     T_LSETXATTR,
        !            60:     T_LREMOVEXATTR,
        !            61:     T_GETVERSION,
        !            62: };
        !            63: 
        !            64: typedef struct {
        !            65:     uint64_t st_dev;
        !            66:     uint64_t st_ino;
        !            67:     uint64_t st_nlink;
        !            68:     uint32_t st_mode;
        !            69:     uint32_t st_uid;
        !            70:     uint32_t st_gid;
        !            71:     uint64_t st_rdev;
        !            72:     uint64_t st_size;
        !            73:     uint64_t st_blksize;
        !            74:     uint64_t st_blocks;
        !            75:     uint64_t st_atim_sec;
        !            76:     uint64_t st_atim_nsec;
        !            77:     uint64_t st_mtim_sec;
        !            78:     uint64_t st_mtim_nsec;
        !            79:     uint64_t st_ctim_sec;
        !            80:     uint64_t st_ctim_nsec;
        !            81: } ProxyStat;
        !            82: 
        !            83: typedef struct {
        !            84:     uint64_t f_type;
        !            85:     uint64_t f_bsize;
        !            86:     uint64_t f_blocks;
        !            87:     uint64_t f_bfree;
        !            88:     uint64_t f_bavail;
        !            89:     uint64_t f_files;
        !            90:     uint64_t f_ffree;
        !            91:     uint64_t f_fsid[2];
        !            92:     uint64_t f_namelen;
        !            93:     uint64_t f_frsize;
        !            94: } ProxyStatFS;
        !            95: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.