📄 spromeps.h
字号:
/***************************************************************************
* SPROMEPS.H
*
* (C) Copyright 1989-1993 Rainbow Technologies, Inc. All rights reserved.
*
* Description - SuperPro Multiple Entry Points Header file.
*
* Purpose - This module provides a method for performing SuperPro API
* commands so you do not have to deal with command packets.
* It provides a function for each API command. *
*
****************************************************************************/
#ifndef _SPROMEPS_H
#define _SPROMEPS_H
/* for dword alignment roll-up */
#define SPRO_APIPACKET_ALIGNMENT_VALUE (sizeof(unsigned long))
#define SPRO_APIPACKET_SIZE (1024+SPRO_APIPACKET_ALIGNMENT_VALUE)
#define SPRO_MAX_QUERY_SIZE 56 /* in bytes */
/** SuperPro API error codes. **/
#define SP_SUCCESS 0
#define SP_INVALID_FUNCTION_CODE 1
#define SP_INVALID_PACKET 2
#define SP_UNIT_NOT_FOUND 3
#define SP_ACCESS_DENIED 4
#define SP_INVALID_MEMORY_ADDRESS 5
#define SP_INVALID_ACCESS_CODE 6
#define SP_PORT_IS_BUSY 7
#define SP_WRITE_NOT_READY 8
#define SP_NO_PORT_FOUND 9
#define SP_ALREADY_ZERO 10
#define SP_DRIVER_OPEN_ERROR 11
#define SP_DRIVER_NOT_INSTALLED 12
#define SP_IO_COMMUNICATIONS_ERROR 13
#define SP_PACKET_TOO_SMALL 15
#define SP_INVALID_PARAMETER 16
#define SP_MEM_ACCESS_ERROR 17
#define SP_VERSION_NOT_SUPPORTED 18
#define SP_OS_NOT_SUPPORTED 19
#define SP_QUERY_TOO_LONG 20
#define SP_INVALID_COMMAND 21
#define SP_MEM_ALIGNMENT_ERROR 29
#define SP_DRIVER_IS_BUSY 30
#define SP_PORT_ALLOCATION_FAILURE 31
#define SP_PORT_RELEASE_FAILURE 32
#define SP_ACQUIRE_PORT_TIMEOUT 39
#define SP_SIGNAL_NOT_SUPPORTED 42
#define SP_UNKNOWN_MACHINE 44
#define SP_SYS_API_ERROR 45
#define SP_UNIT_IS_BUSY 46
#define SP_INVALID_PORT_TYPE 47
#define SP_INVALID_MACH_TYPE 48
#define SP_INVALID_IRQ_MASK 49
#define SP_INVALID_CONT_METHOD 50
#define SP_INVALID_PORT_FLAGS 51
#define SP_INVALID_LOG_PORT_CFG 52
#define SP_INVALID_OS_TYPE 53
#define SP_INVALID_LOG_PORT_NUM 54
#define SP_INVALID_ROUTER_FLGS 56
#define SP_INIT_NOT_CALLED 57
#define SP_DRVR_TYPE_NOT_SUPPORTED 58
#define SP_FAIL_ON_DRIVER_COMM 59
/* Define possible driver types (Not used refer to Driver Types). */
#define SP_DRVR_WIN31 4
#define SP_DRVR_WINNT 5
/* Create SP types */
#ifdef __cplusplus
#define SP_EXPORT extern "C"
#else
#define SP_EXPORT extern
#endif
#define SP_LOCAL static
#ifndef _RBDRVR_INC
#if (defined(_OS2_) || defined(__OS2__) || defined(OS2_INCLUDED) || defined(_OS2_H))
#ifndef _OS2_
#define _OS2_
#endif
#endif
#if (defined(_QNX_) || defined(__QNX__))
#ifndef _QNX_
#define _QNX_ 1
#endif
#endif
#if ((defined(_NW_) || defined(CLIB_V311)) && !defined(_OS2_))
#ifndef _NW_
#define _NW_ 1
#endif
#endif
#if ((defined(_WIN32_) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) && !defined(_NW_) && !defined(_QNX_))
#ifndef _WIN32_
#define _WIN32_ 1
#endif
#endif
#if ((defined(_WIN3_) || defined(__WINDOWS_H) || defined(_WINDOWS_) || \
defined(_WIN_) || defined(__WINDOWS__) || defined(_WINDOWS) || \
defined(_WINDLL)) && !defined(_OS2_) && !defined(_WIN32_))
#ifndef _WIN_
#define _WIN_ 1
#endif
#endif
#if (!defined(_OS2_) && !defined(_WIN32_) && !defined(_WIN_) && !defined(_NW_) && !defined(_QNX_))
#ifndef _DOS_
#define _DOS_ 1
#endif
#endif
#endif
/****************************************************************************
* SETTINGS FOR GNU C
****************************************************************************/
#if (defined(__GNUC__) || defined(_GNUC_) || defined(__EMX__))
#if defined(_OS2_)
#define _RB_SYSCALL _System
#define _RB_STDCALL
#define _RB_FASTCALL
#define _RB_PASCAL _Pascal
#define _RB_CDECL _Cdecl
#define _RB_FAR
#define _RB_NEAR
#define _RB_HUGE
#define _RB_API EXPENTRY
#define _RB_PTR *
#endif
#endif
/***************************************************************************/
/****************************************************************************
* SETTINGS FOR IBM C SET/2
****************************************************************************/
#if ((defined(__IBMC__) || defined(__IBMCPP__)) && !defined(_GNUC_))
#if defined(_OS2_)
#define _RB_SYSCALL _system
#define _RB_STDCALL
#define _RB_FASTCALL _fastcall
#define _RB_PASCAL _pascal
#define _RB_CDECL _cdecl
#define _RB_FAR
#define _RB_NEAR
#define _RB_HUGE
#define _RB_API EXPENTRY
#define _RB_PTR *
#endif
#endif
/***************************************************************************/
/****************************************************************************
* SETTINGS FOR BORLAND C
****************************************************************************/
#if defined(__BORLANDC__)
#if defined(_WIN32_)
#define _RB_STDCALL __stdcall
#define _RB_FASTCALL __fastcall
#define _RB_PASCAL
#define _RB_CDECL __cdecl
#define _RB_FAR
#define _RB_NEAR
#define _RB_HUGE
#define _RB_API WINAPI
#define _RB_PTR *
#elif (defined(_OS2_))
#define _RB_STDCALL
#define _RB_FASTCALL __fastcall
#define _RB_PASCAL __pascal
#define _RB_CDECL __cdecl
#define _RB_FAR
#define _RB_NEAR
#define _RB_HUGE
#define _RB_PTR *
#define _RB_API EXPENTRY
#elif (defined(OS2_INCLUDED))
#define _RB_LOADDS _loadds
#define _RB_STDCALL
#define _RB_FASTCALL
#define _RB_PASCAL pascal
#define _RB_CDECL _cdecl
#define _RB_FAR far
#define _RB_NEAR near
#define _RB_HUGE huge
#define _RB_PTR _RB_FAR *
#define _RB_API _RB_FAR _RB_PASCAL _RB_LOADDS
#elif (defined(_WIN_) || defined(_WIN3_))
#define _RB_LOADDS _loadds
#define _RB_STDCALL
#define _RB_FASTCALL
#define _RB_PASCAL pascal
#define _RB_CDECL _cdecl
#define _RB_FAR far
#define _RB_NEAR near
#define _RB_HUGE huge
#define _RB_PTR _RB_FAR *
#define _RB_API WINAPI _RB_LOADDS
#elif defined(_QNX_)
#define _RB_LOADDS _loadds
#define _RB_STDCALL
#define _RB_FASTCALL
#define _RB_PASCAL pascal
#define _RB_CDECL _cdecl
#define _RB_FAR far
#define _RB_NEAR near
#define _RB_HUGE huge
#define _RB_PTR _RB_FAR *
#define _RB_API _RB_FAR _RB_CDECL
#elif defined(_DOS_)
#define _RB_STDCALL
#define _RB_FASTCALL
#define _RB_PASCAL pascal
#define _RB_CDECL _cdecl
#define _RB_FAR far
#define _RB_NEAR near
#define _RB_HUGE huge
#if ( defined(_DOS4GW_) && defined(_WATC_) )
#define _RB_PTR *
#endif
#if defined(_BPASF_)
#define _RB_PTR _RB_FAR *
#define _RB_API _RB_FAR _RB_PASCAL
#elif defined(_BPASN_)
#define _RB_PTR _RB_FAR *
#define _RB_API _RB_NEAR _RB_PASCAL
#else
#if (defined(__SMALL__) || defined(__MEDIUM__) || defined(__LARGE__) || defined(__COMPACT__))
#define _RB_PTR _RB_FAR *
#elif defined(__HUGE__)
#define _RB_PTR _RB_HUGE *
#elif defined(__TINY__)
#define _RB_PTR *
#endif
#define _RB_API _RB_FAR _RB_CDECL
#endif
#endif
#endif
/***************************************************************************/
/****************************************************************************
* SETTINGS FOR MICROSOFT C
****************************************************************************/
#if defined(_MSC_VER)
#if defined(_WIN32_)
#define _RB_STDCALL __stdcall
#define _RB_FASTCALL __fastcall
#define _RB_PASCAL
#define _RB_CDECL __cdecl
#define _RB_FAR
#define _RB_NEAR
#define _RB_HUGE
#ifdef _DRVDRV_
#define _RB_API _RB_STDCALL
#else
#define _RB_API WINAPI
#endif
#define _RB_PTR *
#elif defined(_OS2_)
#define _RB_LOADDS _loadds
#define _RB_STDCALL
#define _RB_FASTCALL _fastcall
#define _RB_PASCAL _pascal
#define _RB_CDECL _cdecl
#define _RB_FAR _far
#define _RB_NEAR _near
#define _RB_HUGE _huge
#define _RB_API _RB_FAR _RB_PASCAL
#define _RB_PTR _RB_FAR *
#elif (defined(_WIN_) || defined(_WIN3_))
#define _RB_LOADDS _loadds
#define _RB_STDCALL
#define _RB_FASTCALL _fastcall
#define _RB_PASCAL _pascal
#define _RB_CDECL _cdecl
#define _RB_FAR _far
#define _RB_NEAR _near
#define _RB_HUGE _huge
#define _RB_API WINAPI _RB_LOADDS
#define _RB_PTR _RB_FAR *
#elif (_MSC_VER <= 7)
#define _RB_LOADDS _loadds
#define _RB_STDCALL
#define _RB_FASTCALL _fastcall
#define _RB_PASCAL _pascal
#define _RB_CDECL _cdecl
#define _RB_FAR _far
#define _RB_NEAR _near
#define _RB_HUGE _huge
#define _RB_API _RB_FAR _RB_PASCAL
#define _RB_PTR _RB_FAR *
#else
#define _RB_STDCALL __stdcall
#define _RB_FASTCALL __fastcall
#define _RB_PASCAL
#define _RB_CDECL __cdecl
#define _RB_FAR
#define _RB_NEAR
#define _RB_HUGE
#define _RB_API _RB_CDECL
#define _RB_PTR *
#endif
#endif
/***************************************************************************/
/****************************************************************************
* SETTINGS FOR WATCOM C
****************************************************************************/
#if defined(__WATCOMC__)
#if defined(_WIN32_)
#define _RB_STDCALL __stdcall
#define _RB_FASTCALL __fastcall
#define _RB_PASCAL
#define _RB_CDECL __cdecl
#define _RB_FAR
#define _RB_NEAR
#define _RB_HUGE
#define _RB_API WINAPI
#define _RB_PTR *
#elif defined(_OS2_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -