📄 capi20.h
字号:
/* * Copyright (c) Eicon Networks, 2002. * This source file is supplied for the use with Eicon Networks range of DIVA Server Adapters. * Eicon File Revision : 2.1 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */#ifndef _INC_CAPI20 #define _INC_CAPI20 /* operations on message queues */ /* the common device type for CAPI20 drivers */#define FILE_DEVICE_CAPI20 0x8001 /* DEVICE_CONTROL codes for user and kernel mode applications */#define CAPI20_CTL_REGISTER 0x0801#define CAPI20_CTL_RELEASE 0x0802#define CAPI20_CTL_GET_MANUFACTURER 0x0805#define CAPI20_CTL_GET_VERSION 0x0806#define CAPI20_CTL_GET_SERIAL 0x0807#define CAPI20_CTL_GET_PROFILE 0x0808 /* INTERNAL_DEVICE_CONTROL codes for kernel mode applicatios only */#define CAPI20_CTL_PUT_MESSAGE 0x0803#define CAPI20_CTL_GET_MESSAGE 0x0804 /* the wrapped codes as required by the system */#define CAPI_CTL_CODE(f,m) CTL_CODE(FILE_DEVICE_CAPI20,f,m,FILE_ANY_ACCESS)#define IOCTL_CAPI_REGISTER CAPI_CTL_CODE(CAPI20_CTL_REGISTER,METHOD_BUFFERED)#define IOCTL_CAPI_RELEASE CAPI_CTL_CODE(CAPI20_CTL_RELEASE,METHOD_BUFFERED)#define IOCTL_CAPI_GET_MANUFACTURER CAPI_CTL_CODE(CAPI20_CTL_GET_MANUFACTURER,METHOD_BUFFERED)#define IOCTL_CAPI_GET_VERSION CAPI_CTL_CODE(CAPI20_CTL_GET_VERSION,METHOD_BUFFERED)#define IOCTL_CAPI_GET_SERIAL CAPI_CTL_CODE(CAPI20_CTL_GET_SERIAL,METHOD_BUFFERED)#define IOCTL_CAPI_GET_PROFILE CAPI_CTL_CODE(CAPI20_CTL_GET_PROFILE,METHOD_BUFFERED)#define IOCTL_CAPI_PUT_MESSAGE CAPI_CTL_CODE(CAPI20_CTL_PUT_MESSAGE,METHOD_BUFFERED)#define IOCTL_CAPI_GET_MESSAGE CAPI_CTL_CODE(CAPI20_CTL_GET_MESSAGE,METHOD_BUFFERED)struct divas_capi_register_params { word MessageBufferSize; word maxLogicalConnection; word maxBDataBlocks; word maxBDataLen;};struct divas_capi_version { word CapiMajor; word CapiMinor; word ManuMajor; word ManuMinor;};typedef struct api_profile_s { word Number; word Channels; dword Global_Options; dword B1_Protocols; dword B2_Protocols; dword B3_Protocols;} API_PROFILE; /* ISDN Common API message types */#define _ALERT_R 0x8001#define _CONNECT_R 0x8002#define _CONNECT_I 0x8202#define _CONNECT_ACTIVE_I 0x8203#define _DISCONNECT_R 0x8004#define _DISCONNECT_I 0x8204#define _LISTEN_R 0x8005#define _INFO_R 0x8008#define _INFO_I 0x8208#define _SELECT_B_REQ 0x8041#define _FACILITY_R 0x8080#define _FACILITY_I 0x8280#define _CONNECT_B3_R 0x8082#define _CONNECT_B3_I 0x8282#define _CONNECT_B3_ACTIVE_I 0x8283#define _DISCONNECT_B3_R 0x8084#define _DISCONNECT_B3_I 0x8284#define _DATA_B3_R 0x8086#define _DATA_B3_I 0x8286#define _RESET_B3_R 0x8087#define _RESET_B3_I 0x8287#define _CONNECT_B3_T90_ACTIVE_I 0x8288#define _MANUFACTURER_R 0x80ff#define _MANUFACTURER_I 0x82ff /* OR this to convert a REQUEST to a CONFIRM */#define CONFIRM 0x0100 /* OR this to convert a INDICATION to a RESPONSE */#define RESPONSE 0x0100/*------------------------------------------------------------------*//* diehl isdn private MANUFACTURER codes *//*------------------------------------------------------------------*/#define _DI_MANU_ID 0x44444944#define _DI_ASSIGN_PLCI 0x0001#define _DI_ADV_CODEC 0x0002#define _DI_DSP_CTRL 0x0003#define _DI_SIG_CTRL 0x0004#define _DI_RXT_CTRL 0x0005#define _DI_IDI_CTRL 0x0006#define _DI_CFG_CTRL 0x0007#define _DI_REMOVE_CODEC 0x0008#define _DI_OPTIONS_REQUEST 0x0009#define _DI_SSEXT_CTRL 0x000a#define _DI_NEGOTIATE_B3 0x000b/*------------------------------------------------------------------*//* parameter structures *//*------------------------------------------------------------------*/ /* ALERT-REQUEST */typedef struct { byte structs[1]; /* Additional Info */} _ALT_REQP; /* ALERT-CONFIRM */typedef struct { word Info;} _ALT_CONP; /* CONNECT-REQUEST */typedef struct { word CIP_Value; byte structs[1]; /* Called party number, Called party subaddress, Calling party number, Calling party subaddress, B_protocol, BC, LLC, HLC, Additional Info */} _CON_REQP; /* CONNECT-CONFIRM */typedef struct { word Info;} _CON_CONP; /* CONNECT-INDICATION */typedef struct { word CIP_Value; byte structs[1]; /* Called party number, Called party subaddress, Calling party number, Calling party subaddress, BC, LLC, HLC, Additional Info */} _CON_INDP; /* CONNECT-RESPONSE */typedef struct { word Accept; byte structs[1]; /* B_protocol, Connected party number, Connected party subaddress, LLC */} _CON_RESP; /* CONNECT-ACTIVE-INDICATION */typedef struct { byte structs[1]; /* Connected party number, Connected party subaddress, LLC */} _CON_A_INDP; /* CONNECT-ACTIVE-RESPONSE */typedef struct { byte structs[1]; /* empty */} _CON_A_RESP; /* DISCONNECT-REQUEST */typedef struct { byte structs[1]; /* Additional Info */} _DIS_REQP; /* DISCONNECT-CONFIRM */typedef struct { word Info;} _DIS_CONP; /* DISCONNECT-INDICATION */typedef struct { word Info;} _DIS_INDP; /* DISCONNECT-RESPONSE */typedef struct { byte structs[1]; /* empty */} _DIS_RESP; /* LISTEN-REQUEST */typedef struct { dword Info_Mask; dword CIP_Mask; byte structs[1]; /* Calling party number, Calling party subaddress */} _LIS_REQP; /* LISTEN-CONFIRM */typedef struct { word Info;} _LIS_CONP; /* INFO-REQUEST */typedef struct { byte structs[1]; /* Called party number, Additional Info */} _INF_REQP; /* INFO-CONFIRM */typedef struct { word Info;} _INF_CONP; /* INFO-INDICATION */typedef struct { word Number; byte structs[1]; /* Info element */} _INF_INDP; /* INFO-RESPONSE */typedef struct { byte structs[1]; /* empty */} _INF_RESP; /* SELECT-B-REQUEST */typedef struct { byte structs[1]; /* B-protocol */} _SEL_B_REQP; /* SELECT-B-CONFIRM */typedef struct { word Info;} _SEL_B_CONP; /* FACILITY-REQUEST */typedef struct { word Selector; byte structs[1]; /* Facility parameters */} _FAC_REQP; /* FACILITY-CONFIRM STRUCT FOR SUPPLEMENT. SERVICES */typedef struct { byte struct_length; word function; byte length; word SupplementaryServiceInfo; dword SupportedServices;} _FAC_CON_STRUCTS; /* FACILITY-CONFIRM */typedef struct { word Info; word Selector; byte structs[1]; /* Facility parameters */} _FAC_CONP; /* FACILITY-INDICATION */typedef struct { word Selector; byte structs[1]; /* Facility parameters */} _FAC_INDP; /* FACILITY-RESPONSE */typedef struct { word Selector; byte structs[1]; /* Facility parameters */} _FAC_RESP; /* CONNECT-B3-REQUEST */typedef struct { byte structs[1]; /* NCPI */} _CON_B3_REQP; /* CONNECT-B3-CONFIRM */typedef struct { word Info;} _CON_B3_CONP; /* CONNECT-B3-INDICATION */typedef struct { byte structs[1]; /* NCPI */} _CON_B3_INDP; /* CONNECT-B3-RESPONSE */typedef struct { word Accept; byte structs[1]; /* NCPI */} _CON_B3_RESP; /* CONNECT-B3-ACTIVE-INDICATION */typedef struct { byte structs[1]; /* NCPI */} _CON_B3_A_INDP; /* CONNECT-B3-ACTIVE-RESPONSE */typedef struct { byte structs[1]; /* empty */} _CON_B3_A_RESP; /* DISCONNECT-B3-REQUEST */typedef struct { byte structs[1]; /* NCPI */} _DIS_B3_REQP; /* DISCONNECT-B3-CONFIRM */typedef struct { word Info;} _DIS_B3_CONP; /* DISCONNECT-B3-INDICATION */typedef struct { word Info; byte structs[1]; /* NCPI */} _DIS_B3_INDP; /* DISCONNECT-B3-RESPONSE */typedef struct { byte structs[1]; /* empty */} _DIS_B3_RESP; /* DATA-B3-REQUEST */typedef struct { dword Data; word Data_Length; word Number; word Flags;} _DAT_B3_REQP; /* DATA-B3-REQUEST 64 BIT Systems */typedef struct { dword Data; word Data_Length; word Number; word Flags; void *pData;} _DAT_B3_REQ64P; /* DATA-B3-CONFIRM */typedef struct { word Number; word Info;} _DAT_B3_CONP; /* DATA-B3-INDICATION */typedef struct { dword Data; word Data_Length; word Number; word Flags;} _DAT_B3_INDP; /* DATA-B3-INDICATION 64 BIT Systems */typedef struct { dword Data; word Data_Length; word Number; word Flags; void *pData;} _DAT_B3_IND64P; /* DATA-B3-RESPONSE */typedef struct { word Number;} _DAT_B3_RESP; /* RESET-B3-REQUEST */typedef struct { byte structs[1]; /* NCPI */} _RES_B3_REQP; /* RESET-B3-CONFIRM */typedef struct { word Info;} _RES_B3_CONP; /* RESET-B3-INDICATION */typedef struct { byte structs[1]; /* NCPI */} _RES_B3_INDP; /* RESET-B3-RESPONSE */typedef struct { byte structs[1]; /* empty */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -