📄 scsihack.c
字号:
/* @(#)scsihack.c 1.28 00/06/30 Copyright 1997 J. Schilling */#ifndef lintstatic char _sccsid[] = "@(#)scsihack.c 1.28 00/06/30 Copyright 1997 J. Schilling";#endif/* * Interface for other generic SCSI implementations. * To add a new hack, add something like: * * #ifdef __FreeBSD__ * #define SCSI_IMPL * #include some code * #endif * * Warning: you may change this source or add new SCSI tranport * implementations, but if you do that you need to change the * _scg_version and _scg_auth* string that are returned by the * SCSI transport code. * Choose your name instead of "schily" and make clear that the version * string is related to a modified source. * If your version has been integrated into the main steam release, * the return value will be set to "schily". * * Copyright (c) 1997 J. Schilling *//*@@C@@*/LOCAL int scsi_send __PR((SCSI *scgp, int f, struct scg_cmd *sp));#if defined(sun) || defined(__sun) || defined(__sun__)#define SCSI_IMPL /* We have a SCSI implementation for Sun */#include "scsi-sun.c"#endif /* Sun */#ifdef linux#define SCSI_IMPL /* We have a SCSI implementation for Linux */#ifdef not_needed /* We now have a local vrersion of pg.h */#ifndef HAVE_LINUX_PG_H /* If we are compiling on an old version */# undef USE_PG_ONLY /* there is no 'pg' driver and we cannot */# undef USE_PG /* include <linux/pg.h> which is needed */#endif /* by the pg transport code. */#endif#ifdef USE_PG_ONLY#include "scsi-linux-pg.c"#else#include "scsi-linux-sg.c"#endif#endif /* linux */#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)#define SCSI_IMPL /* We have a SCSI implementation for *BSD */#include "scsi-bsd.c"#endif /* *BSD */#if defined(__bsdi__) /* We have a SCSI implementation for BSD/OS 3.x (and later?) */# include <sys/param.h># if (_BSDI_VERSION >= 199701)# define SCSI_IMPL# include "scsi-bsd-os.c"# endif /* BSD/OS >= 3.0 */#endif /* BSD/OS */#ifdef __sgi#define SCSI_IMPL /* We have a SCSI implementation for SGI */#include "scsi-sgi.c"#endif /* SGI */#ifdef __hpux#define SCSI_IMPL /* We have a SCSI implementation for HP-UX */#include "scsi-hpux.c"#endif /* HP-UX */#if defined(_IBMR2) || defined(_AIX)#define SCSI_IMPL /* We have a SCSI implementation for AIX */#include "scsi-aix.c"#endif /* AIX */#if defined(__NeXT__) || defined(IS_MACOS_X)#define SCSI_IMPL /* We have a SCSI implementation for NextStep and Mac OS X */#include "scsi-next.c"#endif /* NEXT / Mac OS X */#if defined(__osf__)#define SCSI_IMPL /* We have a SCSI implementation for OSF/1 */#include "scsi-osf.c"#endif /* OSF/1 */#ifdef VMS#define SCSI_IMPL /* We have a SCSI implementation for VMS */#include "scsi-vms.c"#endif /* VMS */#ifdef OPENSERVER#define SCSI_IMPL /* We have a SCSI implementation for SCO OpenServer */#include "scsi-openserver.c"#endif /* SCO */#ifdef UNIXWARE#define SCSI_IMPL /* We have a SCSI implementation for SCO UnixWare */#include "scsi-unixware.c"#endif /* UNIXWARE */#ifdef __OS2#define SCSI_IMPL /* We have a SCSI implementation for OS/2 */#include "scsi-os2.c"#endif /* OS/2 */#ifdef __BEOS__#define SCSI_IMPL /* Yep, BeOS does that funky scsi stuff */#include "scsi-beos.c"#endif#ifdef __CYGWIN32__#define SCSI_IMPL /* Yep, we support WNT and W9? */#include "scsi-wnt.c"#endif#ifdef __NEW_ARCHITECTURE#define SCSI_IMPL /* We have a SCSI implementation for XXX *//* * Add new hacks here */#include "scsi-new-arch.c"#endif#ifndef SCSI_IMPL/* * This is to make scsitranp.c compile on all architectures. * This does not mean that you may use it, but you can see * if other problems exist. *//* * Warning: you may change this source, but if you do that * you need to change the _scg_version and _scg_auth* string below. * You may not return "schily" for an SCG_AUTHOR request anymore. * Choose your name instead of "schily" and make clear that the version * string is related to a modified source. */LOCAL char _scg_trans_version[] = "scsihack.c-1.28"; /* The version for this transport*//* * Return version information for the low level SCSI transport code. * This has been introduced to make it easier to trace down problems * in applications. */EXPORT char *scg__version(scgp, what) SCSI *scgp; int what;{ if (scgp != (SCSI *)0) { switch (what) { case SCG_VERSION: return (_scg_trans_version); /* * If you changed this source, you are not allowed to * return "schily" for the SCG_AUTHOR request. */ case SCG_AUTHOR: return (_scg_auth_schily); case SCG_SCCS_ID: return (_sccsid); } } return ((char *)0);}EXPORTint scsi_open(scgp, device, busno, tgt, tlun) SCSI *scgp; char *device; int busno; int tgt; int tlun;{ comerrno(EX_BAD, "No SCSI transport implementation for this architecture.\n"); return (-1); /* Keep lint happy */}EXPORT intscsi_close(scgp) SCSI *scgp;{ return (-1);}LOCAL longscsi_maxdma(scgp, amt) SCSI *scgp; long amt;{ return (0L);}EXPORT voidscsi_freebuf(scgp) SCSI *scgp;{}EXPORTBOOL scsi_havebus(scgp, busno) SCSI *scgp; int busno;{ return (FALSE);}EXPORTint scsi_fileno(scgp, busno, tgt, tlun) SCSI *scgp; int busno; int tgt; int tlun;{ return (-1);}EXPORT intscsi_initiator_id(scgp) SCSI *scgp;{ return (-1);}EXPORTint scsi_isatapi(scgp) SCSI *scgp;{ return (FALSE);}EXPORTint scsireset(scgp) SCSI *scgp;{ return (-1);}EXPORT void *scsi_getbuf(scgp, amt) SCSI *scgp; long amt;{ return ((void *)0);}LOCAL intscsi_send(scgp, f, sp) SCSI *scgp; int f; struct scg_cmd *sp;{ return (-1);}#endif /* SCSI_IMPL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -