1 /*
2  *   libdi - scsipt SCSI Device Interface Library
3  *
4  *   Copyright (C) 1993-2004  Ti Kan
5  *   E-mail: xmcd@amb.org
6  *
7  *   This program is free software; you can redistribute it and/or modify
8  *   it under the terms of the GNU General Public License as published by
9  *   the Free Software Foundation; either version 2 of the License, or
10  *   (at your option) any later version.
11  *
12  *   This program is distributed in the hope that it will be useful,
13  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *   GNU General Public License for more details.
16  *
17  *   You should have received a copy of the GNU General Public License
18  *   along with this program; if not, write to the Free Software
19  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20  */
21 
22 /*
23  *   Siemens Pyramid SINIX (Reliant UNIX) support
24  *
25  *   Contributing author: Eckhard Einert
26  *   E-Mail: einert.pad@sni.de
27  *
28  *   This software fragment contains code that interfaces the
29  *   application to the SINIX operating system.  The names
30  *   "Siemens Pyramid" and "SINIX" are used here for identification
31  *   purposes only.
32  */
33 #ifndef __OS_SINIX_H__
34 #define __OS_SINIX_H__
35 
36 #if defined(SNI) && \
37     (defined(DI_SCSIPT) || defined(CDDA_RD_SCSIPT)) && \
38     !defined(DEMO_ONLY)
39 
40 #ifndef lint
41 static char *_os_sinix_h_ident_ = "@(#)os_sinix.h	6.26 04/01/14";
42 #endif
43 
44 #include <sys/ioccom.h>
45 #include <sys/cpl/ios_ioi.h>
46 
47 
48 #define OS_MODULE	/* Indicate that this is compiled on a supported OS */
49 #define SETUID_ROOT	/* Setuid root privilege is required */
50 
51 #define SNI_MAX_XFER	(16 * 1024)	/* Max per-request data length */
52 
53 
54 /* Public function prototypes */
55 extern bool_t	pthru_send(di_dev_t *, int, byte_t *, size_t, byte_t *, size_t,
56 			   byte_t *, size_t, byte_t, int, bool_t);
57 extern di_dev_t	*pthru_open(char *);
58 extern void	pthru_close(di_dev_t *);
59 extern void	pthru_enable(di_dev_t *, int);
60 extern void	pthru_disable(di_dev_t *, int);
61 extern bool_t	pthru_is_enabled(di_dev_t *, int);
62 extern size_t	pthru_maxfer(di_dev_t *);
63 extern char	*pthru_vers(void);
64 
65 #endif	/* SNI DI_SCSIPT CDDA_RD_SCSIPT DEMO_ONLY */
66 
67 #endif	/* __OS_SINIX_H__ */
68 
69