Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

xen: sync xs_wire.h header with upstream xen

Sync the xs_wire.h header file in Linux with the one in Xen.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lore.kernel.org/r/20220513211938.719341-1-sstabellini@kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>

authored by

Stefano Stabellini and committed by
Juergen Gross
62db0faf 1591a65f

+33 -4
+33 -4
include/xen/interface/io/xs_wire.h
··· 10 10 11 11 enum xsd_sockmsg_type 12 12 { 13 - XS_DEBUG, 13 + XS_CONTROL, 14 + #define XS_DEBUG XS_CONTROL 14 15 XS_DIRECTORY, 15 16 XS_READ, 16 17 XS_GET_PERMS, ··· 31 30 XS_IS_DOMAIN_INTRODUCED, 32 31 XS_RESUME, 33 32 XS_SET_TARGET, 34 - XS_RESTRICT, 35 - XS_RESET_WATCHES, 33 + /* XS_RESTRICT has been removed */ 34 + XS_RESET_WATCHES = XS_SET_TARGET + 2, 35 + XS_DIRECTORY_PART, 36 + 37 + XS_TYPE_COUNT, /* Number of valid types. */ 38 + 39 + XS_INVALID = 0xffff /* Guaranteed to remain an invalid type */ 36 40 }; 37 41 38 42 #define XS_WRITE_NONE "NONE" ··· 65 59 XSD_ERROR(EROFS), 66 60 XSD_ERROR(EBUSY), 67 61 XSD_ERROR(EAGAIN), 68 - XSD_ERROR(EISCONN) 62 + XSD_ERROR(EISCONN), 63 + XSD_ERROR(E2BIG) 69 64 }; 70 65 71 66 struct xsd_sockmsg ··· 94 87 char rsp[XENSTORE_RING_SIZE]; /* Replies and async watch events. */ 95 88 XENSTORE_RING_IDX req_cons, req_prod; 96 89 XENSTORE_RING_IDX rsp_cons, rsp_prod; 90 + uint32_t server_features; /* Bitmap of features supported by the server */ 91 + uint32_t connection; 92 + uint32_t error; 97 93 }; 98 94 99 95 /* Violating this is very bad. See docs/misc/xenstore.txt. */ 100 96 #define XENSTORE_PAYLOAD_MAX 4096 97 + 98 + /* Violating these just gets you an error back */ 99 + #define XENSTORE_ABS_PATH_MAX 3072 100 + #define XENSTORE_REL_PATH_MAX 2048 101 + 102 + /* The ability to reconnect a ring */ 103 + #define XENSTORE_SERVER_FEATURE_RECONNECTION 1 104 + /* The presence of the "error" field in the ring page */ 105 + #define XENSTORE_SERVER_FEATURE_ERROR 2 106 + 107 + /* Valid values for the connection field */ 108 + #define XENSTORE_CONNECTED 0 /* the steady-state */ 109 + #define XENSTORE_RECONNECT 1 /* guest has initiated a reconnect */ 110 + 111 + /* Valid values for the error field */ 112 + #define XENSTORE_ERROR_NONE 0 /* No error */ 113 + #define XENSTORE_ERROR_COMM 1 /* Communication problem */ 114 + #define XENSTORE_ERROR_RINGIDX 2 /* Invalid ring index */ 115 + #define XENSTORE_ERROR_PROTO 3 /* Protocol violation (payload too long) */ 101 116 102 117 #endif /* _XS_WIRE_H */