isdn4k-utils/capifax/data.h

70 lines
3.0 KiB
C

/* $Id: data.h,v 1.2 1998/10/23 12:50:53 fritz Exp $
*
* Functions for dealing user data.
* 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: data.h,v $
* Revision 1.2 1998/10/23 12:50:53 fritz
* Added RCS keywords and GPL notice.
*
*/
#ifndef _data_h_
#define _data_h_
typedef void (*MainDataAvailable_t)(ConnectionID, void *, unsigned short,
unsigned short, int *);
typedef void (*MainDataConf_t)(ConnectionID, unsigned short, unsigned short);
extern MainDataAvailable_t MainDataAvailable_p;
extern MainDataConf_t MainDataConf_p;
#define SendBlockSize 2048 /* must not be greater than MaxB3DataBlockSize in req.c */
/*
* SendData: Sends one block with data over the specified channel
*/
unsigned SendData(ConnectionID Connection, void *Data, unsigned short DataLength, unsigned short DataHandle);
/*
* DataConf: signals the successful sending of a datablock
* This function is called after receiving a DATA_B3_CONFirmation. CAPI signals
* that the datablock identified by DataHandle has been sent and the memory
* area may be freed. The DataHandle is the same as specified in SendBlock.
* This function is implemented in the main program.
*/
void DataConf(ConnectionID Connection, unsigned short DataHandle, unsigned short Info);
/*
* DataAvailable: signals received data blocks
* This function is called after a DATA_B3_INDication is received. The flag
* DiscardData tells CAPI to free the memora area directly after the return
* of this function when set to TRUE (1) which is the preset. When the flag
* is set to FALSE (0) the data area MUST be freed later with ReleaseData.
* The datahandle identifies the memory area. When reaching 7 unconfirmed
* blocks, no more incoming data will be signaled until freeing at least
* one block.
* This function is implemented in the main program.
*/
void DataAvailable(ConnectionID Connection, void *Data, unsigned short DataLength,
unsigned short DataHandle, int *DiscardData);
/*
* ReleaseData: allows CAPI to reuse the memory area of the specified block.
* CAPI allows max. 7 unconfirmed Blocks. If the maximum of 7 is reached,
* no more DATA_B3_INDications will come up.
*/
unsigned ReleaseData(ConnectionID Connection, unsigned short DataHandle);
#endif /*----- _data_h_ -----*/