iPXE
xs_wire.h File Reference

Go to the source code of this file.

Data Structures

struct  xsd_errors
struct  xsd_sockmsg
struct  xenstore_domain_interface

Macros

#define XS_DEBUG   XS_CONTROL
#define XENSTORE_RING_SIZE   1024
#define MASK_XENSTORE_IDX(idx)
#define XENSTORE_PAYLOAD_MAX   4096
#define XENSTORE_ABS_PATH_MAX   3072
#define XENSTORE_REL_PATH_MAX   2048
#define XENSTORE_SERVER_FEATURE_RECONNECTION   1
#define XENSTORE_SERVER_FEATURE_ERROR   2
#define XENSTORE_CONNECTED   0 /* the steady-state */
#define XENSTORE_RECONNECT   1 /* reconnect in progress */
#define XENSTORE_ERROR_NONE   0 /* No error */
#define XENSTORE_ERROR_COMM   1 /* Communication problem */
#define XENSTORE_ERROR_RINGIDX   2 /* Invalid ring index */
#define XENSTORE_ERROR_PROTO   3 /* Protocol violation (payload too long) */

Typedefs

typedef uint32_t XENSTORE_RING_IDX

Enumerations

enum  xsd_sockmsg_type {
  XS_CONTROL , XS_DIRECTORY , XS_READ , XS_GET_PERMS ,
  XS_WATCH , XS_UNWATCH , XS_TRANSACTION_START , XS_TRANSACTION_END ,
  XS_INTRODUCE , XS_RELEASE , XS_GET_DOMAIN_PATH , XS_WRITE ,
  XS_MKDIR , XS_RM , XS_SET_PERMS , XS_WATCH_EVENT ,
  XS_ERROR , XS_IS_DOMAIN_INTRODUCED , XS_RESUME , XS_SET_TARGET ,
  XS_RESET_WATCHES = XS_SET_TARGET + 2 , XS_DIRECTORY_PART , XS_GET_FEATURE , XS_SET_FEATURE ,
  XS_GET_QUOTA , XS_SET_QUOTA , XS_TYPE_COUNT , XS_INVALID = 0xffff
}
enum  xs_watch_type { XS_WATCH_PATH = 0 , XS_WATCH_TOKEN }

Functions

 FILE_LICENCE (MIT)
 FILE_SECBOOT (PERMITTED)

Macro Definition Documentation

◆ XS_DEBUG

#define XS_DEBUG   XS_CONTROL

Definition at line 18 of file xs_wire.h.

◆ XENSTORE_RING_SIZE

#define XENSTORE_RING_SIZE   1024

Definition at line 105 of file xs_wire.h.

Referenced by xenstore_send().

◆ MASK_XENSTORE_IDX

#define MASK_XENSTORE_IDX ( idx)
Value:
((idx) & (XENSTORE_RING_SIZE-1))
#define XENSTORE_RING_SIZE
Definition xs_wire.h:105

Definition at line 107 of file xs_wire.h.

Referenced by xenstore_recv(), and xenstore_send().

◆ XENSTORE_PAYLOAD_MAX

#define XENSTORE_PAYLOAD_MAX   4096

Definition at line 120 of file xs_wire.h.

◆ XENSTORE_ABS_PATH_MAX

#define XENSTORE_ABS_PATH_MAX   3072

Definition at line 123 of file xs_wire.h.

◆ XENSTORE_REL_PATH_MAX

#define XENSTORE_REL_PATH_MAX   2048

Definition at line 124 of file xs_wire.h.

◆ XENSTORE_SERVER_FEATURE_RECONNECTION

#define XENSTORE_SERVER_FEATURE_RECONNECTION   1

Definition at line 127 of file xs_wire.h.

◆ XENSTORE_SERVER_FEATURE_ERROR

#define XENSTORE_SERVER_FEATURE_ERROR   2

Definition at line 129 of file xs_wire.h.

◆ XENSTORE_CONNECTED

#define XENSTORE_CONNECTED   0 /* the steady-state */

Definition at line 132 of file xs_wire.h.

◆ XENSTORE_RECONNECT

#define XENSTORE_RECONNECT   1 /* reconnect in progress */

Definition at line 133 of file xs_wire.h.

◆ XENSTORE_ERROR_NONE

#define XENSTORE_ERROR_NONE   0 /* No error */

Definition at line 136 of file xs_wire.h.

◆ XENSTORE_ERROR_COMM

#define XENSTORE_ERROR_COMM   1 /* Communication problem */

Definition at line 137 of file xs_wire.h.

◆ XENSTORE_ERROR_RINGIDX

#define XENSTORE_ERROR_RINGIDX   2 /* Invalid ring index */

Definition at line 138 of file xs_wire.h.

◆ XENSTORE_ERROR_PROTO

#define XENSTORE_ERROR_PROTO   3 /* Protocol violation (payload too long) */

Definition at line 139 of file xs_wire.h.

Typedef Documentation

◆ XENSTORE_RING_IDX

Definition at line 106 of file xs_wire.h.

Enumeration Type Documentation

◆ xsd_sockmsg_type

Enumerator
XS_CONTROL 
XS_DIRECTORY 
XS_READ 
XS_GET_PERMS 
XS_WATCH 
XS_UNWATCH 
XS_TRANSACTION_START 
XS_TRANSACTION_END 
XS_INTRODUCE 
XS_RELEASE 
XS_GET_DOMAIN_PATH 
XS_WRITE 
XS_MKDIR 
XS_RM 
XS_SET_PERMS 
XS_WATCH_EVENT 
XS_ERROR 
XS_IS_DOMAIN_INTRODUCED 
XS_RESUME 
XS_SET_TARGET 
XS_RESET_WATCHES 
XS_DIRECTORY_PART 
XS_GET_FEATURE 
XS_SET_FEATURE 
XS_GET_QUOTA 
XS_SET_QUOTA 
XS_TYPE_COUNT 
XS_INVALID 

Definition at line 15 of file xs_wire.h.

16{
18#define XS_DEBUG XS_CONTROL
20 XS_READ,
31 XS_RM,
38 /* XS_RESTRICT has been removed */
45
46 XS_TYPE_COUNT, /* Number of valid types. */
47
48 XS_INVALID = 0xffff /* Guaranteed to remain an invalid type */
49};
@ XS_GET_QUOTA
Definition xs_wire.h:43
@ XS_INVALID
Definition xs_wire.h:48
@ XS_RELEASE
Definition xs_wire.h:27
@ XS_WRITE
Definition xs_wire.h:29
@ XS_MKDIR
Definition xs_wire.h:30
@ XS_CONTROL
Definition xs_wire.h:17
@ XS_DIRECTORY_PART
Definition xs_wire.h:40
@ XS_IS_DOMAIN_INTRODUCED
Definition xs_wire.h:35
@ XS_TRANSACTION_START
Definition xs_wire.h:24
@ XS_GET_DOMAIN_PATH
Definition xs_wire.h:28
@ XS_DIRECTORY
Definition xs_wire.h:19
@ XS_WATCH_EVENT
Definition xs_wire.h:33
@ XS_READ
Definition xs_wire.h:20
@ XS_TYPE_COUNT
Definition xs_wire.h:46
@ XS_GET_FEATURE
Definition xs_wire.h:41
@ XS_RESET_WATCHES
Definition xs_wire.h:39
@ XS_RESUME
Definition xs_wire.h:36
@ XS_ERROR
Definition xs_wire.h:34
@ XS_SET_QUOTA
Definition xs_wire.h:44
@ XS_INTRODUCE
Definition xs_wire.h:26
@ XS_UNWATCH
Definition xs_wire.h:23
@ XS_WATCH
Definition xs_wire.h:22
@ XS_SET_TARGET
Definition xs_wire.h:37
@ XS_RM
Definition xs_wire.h:31
@ XS_GET_PERMS
Definition xs_wire.h:21
@ XS_SET_PERMS
Definition xs_wire.h:32
@ XS_TRANSACTION_END
Definition xs_wire.h:25
@ XS_SET_FEATURE
Definition xs_wire.h:42

◆ xs_watch_type

Enumerator
XS_WATCH_PATH 
XS_WATCH_TOKEN 

Definition at line 95 of file xs_wire.h.

96{
97 XS_WATCH_PATH = 0,
99};
@ XS_WATCH_TOKEN
Definition xs_wire.h:98
@ XS_WATCH_PATH
Definition xs_wire.h:97

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( MIT )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )