|
|
1.1 root 1: /* @(#)scsitransp.h 1.17 98/11/02 Copyright 1995 J. Schilling */
2: /*
3: * Definitions for commands that use functions from scsitransp.c
4: *
5: * Copyright (c) 1995 J. Schilling
6: */
7: /*
8: * This program is free software; you can redistribute it and/or modify
9: * it under the terms of the GNU General Public License as published by
10: * the Free Software Foundation; either version 2, or (at your option)
11: * any later version.
12: *
13: * This program is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: * You should have received a copy of the GNU General Public License
19: * along with this program; see the file COPYING. If not, write to
20: * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
21: */
22:
23: #ifndef _SCSITRANSP_H
24: #define _SCSITRANSP_H
25:
26: #include "scg/standard.h"
27:
28: typedef struct {
29: int scsibus; /* SCSI bus # for next I/O */
30: int target; /* SCSI target # for next I/O */
31: int lun; /* SCSI lun # for next I/O */
32:
33: int kdebug; /* Kernel debug value for next I/O */
34: int debug; /* Debug value for SCSI library */
35: int silent; /* Be silent if value > 0 */
36: int verbose; /* Be verbose if value > 0 */
37: int disre_disable;
38: int deftimeout;
39: int noparity; /* Do not use SCSI parity fo next I/O */
40: int dev; /* from scsi_cdr.c */
41: struct timeval *cmdstart;
42: struct timeval *cmdstop;
43: const char **nonstderrs;
44: char *cmdname;
45: struct scg_cmd *scmd;
46: struct scsi_inquiry *inq;
47: struct scsi_capacity *cap;
48:
49: /* the rest is _private_ - don't touch it! */
50: struct SCSIPrivate *private;
51: } SCSI;
52:
53: /*
54: * From scsitransp.c:
55: */
56: extern int scsi_open __PR((SCSI *scgp, char *device, int busno, int tgt, int tlun));
57: extern BOOL scsi_havebus __PR((SCSI *scgp, int));
58: extern int scsi_fileno __PR((SCSI *scgp, int, int, int));
59: extern int scsi_isatapi __PR((SCSI *scgp));
60: extern int scsireset __PR((SCSI *scgp));
61: extern void *scsi_getbuf __PR((SCSI *scgp, long));
62: extern long scsi_bufsize __PR((SCSI *scgp, long));
63: extern void scsi_setnonstderrs __PR((SCSI *scgp, const char **));
64: extern int scsicmd __PR((SCSI *scgp));
65: extern int scsigetresid __PR((SCSI *scgp));
66: extern void scsiprinterr __PR((SCSI *scgp));
67: extern void scsiprintcdb __PR((SCSI *scgp));
68: extern void scsiprintwdata __PR((SCSI *scgp));
69: extern void scsiprintrdata __PR((SCSI *scgp));
70: extern void scsiprintresult __PR((SCSI *scgp));
71: extern void scsiprintstatus __PR((SCSI *scgp));
72: extern void scsiprbytes __PR((char *, unsigned char *, int));
73: extern void scsiprsense __PR((unsigned char *, int));
74: extern int scsi_sense_key __PR((SCSI *scgp));
75: extern int scsi_sense_code __PR((SCSI *scgp));
76: extern int scsi_sense_qual __PR((SCSI *scgp));
77: #ifdef _SCSIREG_H
78: extern void scsiprintdev __PR((struct scsi_inquiry *));
79: #endif
80:
81: /*
82: * From scsierrmsg.c:
83: */
84: extern const char *scsisensemsg __PR((int, int, int,
85: const char **, char *));
86: #ifdef _SCGIO_H
87: extern void scsierrmsg __PR((SCSI *scgp, struct scsi_sense *,
88: struct scsi_status *,
89: int, const char **));
90: #endif
91:
92: #endif /* _SCSITRANSP_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.