diff options
Diffstat (limited to 'sg_pt_freebsd.c')
-rw-r--r-- | sg_pt_freebsd.c | 59 |
1 files changed, 34 insertions, 25 deletions
diff --git a/sg_pt_freebsd.c b/sg_pt_freebsd.c index a0645e6a..f8f59b90 100644 --- a/sg_pt_freebsd.c +++ b/sg_pt_freebsd.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005-2006 Douglas Gilbert. + * Copyright (c) 2005-2007 Douglas Gilbert. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,7 +27,7 @@ * */ -/* version 1.03 2006/1/9 */ +/* version 1.05 2007/1/21 */ #include <stdio.h> #include <stdlib.h> @@ -53,7 +53,6 @@ #define FREEBSD_MAXDEV 64 #define FREEBSD_FDOFFSET 16; -#define MAX_NUM_DEV 26 struct freebsd_dev_channel { @@ -64,7 +63,7 @@ struct freebsd_dev_channel { // Private table of open devices: guaranteed zero on startup since // part of static data. -struct freebsd_dev_channel *devicetable[FREEBSD_MAXDEV]; +static struct freebsd_dev_channel *devicetable[FREEBSD_MAXDEV]; #define DEF_TIMEOUT 60000 /* 60,000 milliseconds (60 seconds) */ @@ -109,17 +108,18 @@ int scsi_pt_open_device(const char * device_name, if (verbose) fprintf(sg_warnings_strm, "too many open file descriptors " "(%d)\n", FREEBSD_MAXDEV); - errno=EMFILE; + errno = EMFILE; return -1; } - fdchan = calloc(1,sizeof(struct freebsd_dev_channel)); + fdchan = (struct freebsd_dev_channel *) + calloc(1,sizeof(struct freebsd_dev_channel)); if (fdchan == NULL) { // errno already set by call to malloc() return -1; } - if (! (fdchan->devname = calloc(1, DEV_IDLEN+1))) + if (! (fdchan->devname = (char *)calloc(1, DEV_IDLEN+1))) return -1; if (cam_get_device(device_name, fdchan->devname, DEV_IDLEN, @@ -172,7 +172,8 @@ void * construct_scsi_pt_obj() { struct sg_pt_freebsd_scsi * ptp; - ptp = malloc(sizeof(struct sg_pt_freebsd_scsi)); + ptp = (struct sg_pt_freebsd_scsi *) + malloc(sizeof(struct sg_pt_freebsd_scsi)); if (ptp) { memset(ptp, 0, sizeof(struct sg_pt_freebsd_scsi)); ptp->dxfer_dir = CAM_DIR_NONE; @@ -182,7 +183,7 @@ void * construct_scsi_pt_obj() void destruct_scsi_pt_obj(void * vp) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; if (ptp) { if (ptp->ccb) @@ -193,7 +194,7 @@ void destruct_scsi_pt_obj(void * vp) void set_scsi_pt_cdb(void * vp, const unsigned char * cdb, int cdb_len) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; if (ptp->cdb) ++ptp->in_err; @@ -204,7 +205,7 @@ void set_scsi_pt_cdb(void * vp, const unsigned char * cdb, int cdb_len) void set_scsi_pt_sense(void * vp, unsigned char * sense, int max_sense_len) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; if (ptp->sense) ++ptp->in_err; @@ -216,7 +217,7 @@ void set_scsi_pt_sense(void * vp, unsigned char * sense, void set_scsi_pt_data_in(void * vp, /* from device */ unsigned char * dxferp, int dxfer_len) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; if (ptp->dxferp) ++ptp->in_err; @@ -230,7 +231,7 @@ void set_scsi_pt_data_in(void * vp, /* from device */ void set_scsi_pt_data_out(void * vp, /* to device */ const unsigned char * dxferp, int dxfer_len) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; if (ptp->dxferp) ++ptp->in_err; @@ -248,7 +249,7 @@ void set_scsi_pt_packet_id(void * vp __attribute__ ((unused)), void set_scsi_pt_tag(void * vp, int tag __attribute__ ((unused))) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; ++ptp->in_err; } @@ -256,7 +257,7 @@ void set_scsi_pt_tag(void * vp, int tag __attribute__ ((unused))) void set_scsi_pt_task_management(void * vp, int tmf_code __attribute__ ((unused))) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; ++ptp->in_err; } @@ -264,7 +265,7 @@ void set_scsi_pt_task_management(void * vp, void set_scsi_pt_task_attr(void * vp, int attrib __attribute__ ((unused)), int priority __attribute__ ((unused))) { - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; ++ptp->in_err; } @@ -272,7 +273,7 @@ void set_scsi_pt_task_attr(void * vp, int attrib __attribute__ ((unused)), int do_scsi_pt(void * vp, int device_fd, int time_secs, int verbose) { int fd = device_fd - FREEBSD_FDOFFSET; - struct sg_pt_freebsd_scsi * ptp = vp; + struct sg_pt_freebsd_scsi * ptp = (struct sg_pt_freebsd_scsi *)vp; struct freebsd_dev_channel *fdchan; union ccb *ccb; int len, timout_ms; @@ -369,7 +370,8 @@ int do_scsi_pt(void * vp, int device_fd, int time_secs, int verbose) int get_scsi_pt_result_category(const void * vp) { - const struct sg_pt_freebsd_scsi * ptp = vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; if (ptp->os_err) return SCSI_PT_RESULT_OS_ERR; @@ -386,21 +388,24 @@ int get_scsi_pt_result_category(const void * vp) int get_scsi_pt_resid(const void * vp) { - const struct sg_pt_freebsd_scsi * ptp = vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; return ptp->resid; } int get_scsi_pt_status_response(const void * vp) { - const struct sg_pt_freebsd_scsi * ptp = vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; return ptp->scsi_status; } int get_scsi_pt_sense_len(const void * vp) { - const struct sg_pt_freebsd_scsi * ptp = vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; int len; len = ptp->sense_len - ptp->sense_resid; @@ -416,14 +421,16 @@ int get_scsi_pt_duration_ms(const void * vp __attribute__ ((unused))) int get_scsi_pt_transport_err(const void * vp) { - const struct sg_pt_freebsd_scsi * ptp = vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; return ptp->transport_err; } int get_scsi_pt_os_err(const void * vp) { - const struct sg_pt_freebsd_scsi * ptp = vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; return ptp->os_err; } @@ -431,7 +438,8 @@ int get_scsi_pt_os_err(const void * vp) char * get_scsi_pt_transport_err_str(const void * vp, int max_b_len, char * b) { - struct sg_pt_freebsd_scsi * ptp = (void *)vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; if (0 == ptp->transport_err) { strncpy(b, "no transport error available", max_b_len); @@ -456,7 +464,8 @@ char * get_scsi_pt_transport_err_str(const void * vp, int max_b_len, char * b) char * get_scsi_pt_os_err_str(const void * vp, int max_b_len, char * b) { - const struct sg_pt_freebsd_scsi * ptp = vp; + const struct sg_pt_freebsd_scsi * ptp = + (const struct sg_pt_freebsd_scsi *)vp; const char * cp; cp = safe_strerror(ptp->os_err); |