+ char *tls_ca_certfile; /* TLS CA Certificate File */
+ char *tls_ca_certdir; /* TLS CA Certificate Directory */
+ char *tls_certfile; /* TLS Server Certificate File */
+ char *tls_keyfile; /* TLS Server Key File */
+ char *tls_dhfile; /* TLS Diffie-Hellman Parameters */
+ alist *tls_allowed_cns; /* TLS Allowed Clients */
+ TLS_CONTEXT *tls_ctx; /* Shared TLS Context */
+ bool tls_enable; /* Enable TLS */
+ bool tls_require; /* Require TLS */
+ bool tls_verify_peer; /* TLS Verify Client Certificate */
+
+ /* Methods */
+ char *name() const;
+};
+
+inline char *DIRRES::name() const { return hdr.name; }
+
+/*
+ * Device Resource
+ * This resource is a bit different from the other resources
+ * because it is not defined in the Director
+ * by DEVICE { ... }, but rather by a "reference" such as
+ * DEVICE = xxx; Then when the Director connects to the
+ * SD, it requests the information about the device.
+ */
+class DEVICE {
+public:
+ RES hdr;
+
+ bool found; /* found with SD */
+ int num_writers; /* number of writers */
+ int max_writers; /* = 1 for files */
+ int reserved; /* number of reserves */
+ int num_drives; /* for autochanger */
+ bool autochanger; /* set if device is autochanger */
+ bool open; /* drive open */
+ bool append; /* in append mode */
+ bool read; /* in read mode */
+ bool labeled; /* Volume name valid */
+ bool offline; /* not available */
+ bool autoselect; /* can be selected via autochanger */
+ uint32_t PoolId;
+ char ChangerName[MAX_NAME_LENGTH];
+ char VolumeName[MAX_NAME_LENGTH];
+ char MediaType[MAX_NAME_LENGTH];
+
+ /* Methods */
+ char *name() const;