36#ifndef __SCSI_ENC_INTERNAL_H__
37#define __SCSI_ENC_INTERNAL_H__
39#include <sys/sysctl.h>
75 uint8_t **bufp,
int error,
int xfer_len);
142#define ENC_FLAG_INVALID 0x01
143#define ENC_FLAG_INITIALIZED 0x02
144#define ENC_FLAG_SHUTDOWN 0x04
154#define ENC_UPDATE_NONE 0x00
155#define ENC_UPDATE_INVALID 0xff
166#define ENC_ANNOUNCE_SZ 400
182#define SES_MGMT_MODE_PAGE_CODE 0x14
184#define SES_MGMT_MODE_PAGE_LEN 6
187#define SES_MGMT_TIMED_COMP_EN 0x1
208#define ENC_CFLAGS CAM_RETRY_SELTO
209#define ENC_FLAGS SF_NO_PRINT | SF_RETRY_UA
210#define STRNCMP strncmp
212#define ENC_LOG enc_log
213#if defined(DEBUG) || defined(ENC_DEBUG)
214#define ENC_DLOG enc_log
216#define ENC_DLOG if (0) enc_log
218#define ENC_VLOG if (enc_verbose) enc_log
219#define ENC_MALLOC(amt) malloc(amt, M_SCSIENC, M_NOWAIT)
220#define ENC_MALLOCZ(amt) malloc(amt, M_SCSIENC, M_ZERO|M_NOWAIT)
222#define ENC_FREE(ptr) free((void *)((uintptr_t)ptr), M_SCSIENC)
223#define ENC_FREE_AND_NULL(ptr) do { \
230#define MEMCPY(dest, src, amt) bcopy(src, dest, amt)
unsigned char encioc_enc_status_t
int() enc_init_enc_t(enc_softc_t *)
int() enc_get_elm_desc_t(enc_softc_t *, encioc_elm_desc_t *)
int() enc_softc_init_t(enc_softc_t *)
struct enc_element enc_element_t
int fsm_error_handler_t(union ccb *ccb, uint32_t cflags, uint32_t sflags)
MALLOC_DECLARE(M_SCSIENC)
SYSCTL_DECL(_kern_cam_enc)
int() enc_set_elm_status_t(enc_softc_t *, encioc_elm_status_t *, int)
void enc_log(struct enc_softc *, const char *,...)
int fsm_fill_handler_t(enc_softc_t *ssc, struct enc_fsm_state *state, union ccb *ccb, uint8_t *buf)
void() enc_poll_status_t(enc_softc_t *)
enc_softc_init_t ses_softc_init
struct enc_cache enc_cache_t
int() enc_handle_string_t(enc_softc_t *, encioc_string_t *, unsigned long)
static enc_cache_t * enc_other_cache(enc_softc_t *enc, enc_cache_t *primary)
int enc_error(union ccb *, uint32_t, uint32_t)
enc_softc_init_t safte_softc_init
void() enc_device_found_t(enc_softc_t *)
int fsm_done_handler_t(enc_softc_t *ssc, struct enc_fsm_state *state, union ccb *ccb, uint8_t **bufp, int error, int xfer_len)
int() enc_set_enc_status_t(enc_softc_t *, encioc_enc_status_t, int)
void() enc_softc_cleanup_t(enc_softc_t *)
void() enc_softc_invalidate_t(enc_softc_t *)
int enc_runcmd(struct enc_softc *, char *, int, char *, int *)
void enc_update_request(enc_softc_t *, uint32_t)
Queue an update request for a given action, if needed.
int() enc_get_elm_status_t(enc_softc_t *, encioc_elm_status_t *, int)
int() enc_get_elm_devnames_t(enc_softc_t *, encioc_elm_devnames_t *)
encioc_enc_status_t enc_status
fsm_fill_handler_t * fill
fsm_error_handler_t * error
fsm_done_handler_t * done
struct root_hold_token enc_rootmount
struct callout status_updater
struct cam_periph * periph
char announce_buf[ENC_ANNOUNCE_SZ]
struct enc_fsm_state * enc_fsm_states
enc_cache_t enc_daemon_cache
enc_softc_invalidate_t * softc_invalidate
enc_handle_string_t * handle_string
enc_init_enc_t * init_enc
enc_poll_status_t * poll_status
enc_get_elm_devnames_t * get_elm_devnames
enc_get_elm_desc_t * get_elm_desc
enc_get_elm_status_t * get_elm_status
enc_softc_cleanup_t * softc_cleanup
enc_set_elm_status_t * set_elm_status
enc_set_enc_status_t * set_enc_status
enc_device_found_t * device_found
struct scsi_mode_blk_desc blk_desc
struct scsi_mode_header_6 header