95 lines
3.5 KiB
C
95 lines
3.5 KiB
C
/* $Id: connect.h,v 1.2 1998/10/23 12:50:50 fritz Exp $
|
|
*
|
|
* Functions concerning activation and deactivation of connections
|
|
* This stuff is based heavily on AVM's CAPI-adk for linux.
|
|
*
|
|
* 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; without even the 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.
|
|
*
|
|
* $Log: connect.h,v $
|
|
* Revision 1.2 1998/10/23 12:50:50 fritz
|
|
* Added RCS keywords and GPL notice.
|
|
*
|
|
*/
|
|
#ifndef _connect_h_
|
|
#define _connect_h_
|
|
|
|
#include "id.h"
|
|
|
|
/*
|
|
* Listen: send a LISTEN_REQ
|
|
* parameters: CIPmask (which services shall be accepted) (see CAPI 2.0 spec.)
|
|
* Listen will be sent to the number of controllers specified in InitISDN.
|
|
* Listen with CIPmask = 0 results in getting no incoming calls signaled
|
|
* by CAPI.
|
|
*/
|
|
#define NO_SERVICES 0x00000000
|
|
#define ALL_SERVICES 0x1FFF03FF
|
|
#define SPEECH 0x00000002
|
|
#define DATA_TRANSFER 0x00000004
|
|
#define AUDIO3_1KHZ 0x00000010
|
|
#define TELEPHONY 0x00010000
|
|
#define FAX_GROUP2_3 0x00020000
|
|
|
|
unsigned Listen(unsigned long CIPmask);
|
|
|
|
/*
|
|
* Connect: try's to connect to 'CalledPartyNumber'
|
|
* the return value of CAPI_PUT_CMSG is the same as CAPI_PUT_MESSAGE
|
|
* (defined in CAPI 2.0 spec. error class 0x11xx )
|
|
* If CallingPartyNumber is not needed, set to NULL.
|
|
* CallingPartyNumber & CalledPartyNumber have to be zero terminated strings.
|
|
* For datatransmission set the protocols to zero, B3Configuration to NULL
|
|
*/
|
|
unsigned Connect(ConnectionID *Connection, char *CalledPartyNumber, char *CallingPartyNumber,
|
|
unsigned long Service, unsigned short B1Protocol, unsigned short B2Protocol,
|
|
unsigned short B3Protocol, unsigned char *B3Configuration);
|
|
|
|
/*
|
|
* Disconnect: disconnects one channel
|
|
* The ConnectionID must be valid
|
|
*/
|
|
unsigned Disconnect(ConnectionID Connection);
|
|
|
|
/*
|
|
* IncomingCall: signals an incoming call
|
|
* This function will be executed if a CONNECT_INDication appears to
|
|
* inform the user. This function has to be implemented in the main program
|
|
*/
|
|
void IncomingCall(ConnectionID Connection, char *CallingPartyNumber);
|
|
|
|
/*
|
|
* AnswerCall: answers incoming call with the specified reject-value
|
|
* (for more see CAPI 2.0 spec.)
|
|
*/
|
|
typedef enum _RejectValue {
|
|
ACCEPT,
|
|
IGNORE,
|
|
REJECT
|
|
} RejectValue;
|
|
|
|
unsigned AnswerCall(ConnectionID Connection, RejectValue Reject, unsigned short B1Protocol,
|
|
unsigned short B2Protocol, unsigned short B3Protocol, unsigned char *B3Configuration);
|
|
|
|
/*
|
|
* StateChange: signals a state change on both B-channels (connected, disconnected)
|
|
* Whenever a channel changes his state this function is called
|
|
* This function has to be implemented in the main program
|
|
*/
|
|
void StateChange(ConnectionID Connection, ConnectionState State);
|
|
|
|
typedef void (*MainStateChange_t)(ConnectionID, ConnectionState);
|
|
typedef void (*MainIncomingCall_t)(ConnectionID, char *);
|
|
extern MainStateChange_t MainStateChange_p;
|
|
extern MainIncomingCall_t MainIncomingCall_p;
|
|
|
|
#endif /*----- _connect_h_ -----*/
|