chan-capi/libcapi20/capifunc.c

352 lines
13 KiB
C

/*
*
* This program is free software and may be modified and
* distributed under the terms of the GNU Public License.
*
*/
#include "capi20.h"
unsigned ALERT_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cstruct BChannelinformation,
_cstruct Keypadfacility,
_cstruct Useruserdata,
_cstruct Facilitydataarray
#ifndef CAPI_LIBRARY_V2
,_cstruct SendingComplete
#endif
) {
capi_cmsg_header (cmsg,ApplId,0x01,0x80,Messagenumber,adr);
cmsg->BChannelinformation = BChannelinformation;
cmsg->Keypadfacility = Keypadfacility;
cmsg->Useruserdata = Useruserdata;
cmsg->Facilitydataarray = Facilitydataarray;
#ifndef CAPI_LIBRARY_V2
cmsg->SendingComplete = SendingComplete;
#endif
return capi_put_cmsg (cmsg);
}
unsigned CONNECT_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cword CIPValue,
_cstruct CalledPartyNumber,
_cstruct CallingPartyNumber,
_cstruct CalledPartySubaddress,
_cstruct CallingPartySubaddress,
_cword B1protocol,
_cword B2protocol,
_cword B3protocol,
_cstruct B1configuration,
_cstruct B2configuration,
_cstruct B3configuration,
#ifndef CAPI_LIBRARY_V2
_cstruct Globalconfiguration,
#endif
_cstruct BC,
_cstruct LLC,
_cstruct HLC,
_cstruct BChannelinformation,
_cstruct Keypadfacility,
_cstruct Useruserdata,
_cstruct Facilitydataarray
#ifndef CAPI_LIBRARY_V2
,_cstruct SendingComplete
#endif
) {
capi_cmsg_header (cmsg,ApplId,0x02,0x80,Messagenumber,adr);
cmsg->CIPValue = CIPValue;
cmsg->CalledPartyNumber = CalledPartyNumber;
cmsg->CallingPartyNumber = CallingPartyNumber;
cmsg->CalledPartySubaddress = CalledPartySubaddress;
cmsg->CallingPartySubaddress = CallingPartySubaddress;
cmsg->B1protocol = B1protocol;
cmsg->B2protocol = B2protocol;
cmsg->B3protocol = B3protocol;
cmsg->B1configuration = B1configuration;
cmsg->B2configuration = B2configuration;
cmsg->B3configuration = B3configuration;
#ifndef CAPI_LIBRARY_V2
cmsg->Globalconfiguration = Globalconfiguration;
#endif
cmsg->BC = BC;
cmsg->LLC = LLC;
cmsg->HLC = HLC;
cmsg->BChannelinformation = BChannelinformation;
cmsg->Keypadfacility = Keypadfacility;
cmsg->Useruserdata = Useruserdata;
cmsg->Facilitydataarray = Facilitydataarray;
#ifndef CAPI_LIBRARY_V2
cmsg->SendingComplete = SendingComplete;
#endif
return capi_put_cmsg (cmsg);
}
unsigned CONNECT_B3_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cstruct NCPI) {
capi_cmsg_header (cmsg,ApplId,0x82,0x80,Messagenumber,adr);
cmsg->NCPI = NCPI;
return capi_put_cmsg (cmsg);
}
unsigned DATA_B3_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
void *Data,
_cword DataLength,
_cword DataHandle,
_cword Flags) {
capi_cmsg_header (cmsg,ApplId,0x86,0x80,Messagenumber,adr);
cmsg->Data = Data;
cmsg->DataLength = DataLength;
cmsg->DataHandle = DataHandle;
cmsg->Flags = Flags;
return capi_put_cmsg (cmsg);
}
unsigned DISCONNECT_B3_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cstruct NCPI) {
capi_cmsg_header (cmsg,ApplId,0x84,0x80,Messagenumber,adr);
cmsg->NCPI = NCPI;
return capi_put_cmsg (cmsg);
}
unsigned DISCONNECT_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cstruct BChannelinformation,
_cstruct Keypadfacility,
_cstruct Useruserdata,
_cstruct Facilitydataarray) {
capi_cmsg_header (cmsg,ApplId,0x04,0x80,Messagenumber,adr);
cmsg->BChannelinformation = BChannelinformation;
cmsg->Keypadfacility = Keypadfacility;
cmsg->Useruserdata = Useruserdata;
cmsg->Facilitydataarray = Facilitydataarray;
#ifndef CAPI_LIBRARY_V2
cmsg->SendingComplete = NULL;
#endif
return capi_put_cmsg (cmsg);
}
unsigned FACILITY_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cword FacilitySelector,
_cstruct FacilityRequestParameter) {
capi_cmsg_header (cmsg,ApplId,0x80,0x80,Messagenumber,adr);
cmsg->FacilitySelector = FacilitySelector;
cmsg->FacilityRequestParameter = FacilityRequestParameter;
return capi_put_cmsg (cmsg);
}
unsigned INFO_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cstruct CalledPartyNumber,
_cstruct BChannelinformation,
_cstruct Keypadfacility,
_cstruct Useruserdata,
_cstruct Facilitydataarray
#ifndef CAPI_LIBRARY_V2
,_cstruct SendingComplete
#endif
) {
capi_cmsg_header (cmsg,ApplId,0x08,0x80,Messagenumber,adr);
cmsg->CalledPartyNumber = CalledPartyNumber;
cmsg->BChannelinformation = BChannelinformation;
cmsg->Keypadfacility = Keypadfacility;
cmsg->Useruserdata = Useruserdata;
cmsg->Facilitydataarray = Facilitydataarray;
#ifndef CAPI_LIBRARY_V2
cmsg->SendingComplete = SendingComplete;
#endif
return capi_put_cmsg (cmsg);
}
unsigned LISTEN_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cdword InfoMask,
_cdword CIPmask,
_cdword CIPmask2,
_cstruct CallingPartyNumber,
_cstruct CallingPartySubaddress) {
capi_cmsg_header (cmsg,ApplId,0x05,0x80,Messagenumber,adr);
cmsg->InfoMask = InfoMask;
cmsg->CIPmask = CIPmask;
cmsg->CIPmask2 = CIPmask2;
cmsg->CallingPartyNumber = CallingPartyNumber;
cmsg->CallingPartySubaddress = CallingPartySubaddress;
return capi_put_cmsg (cmsg);
}
unsigned MANUFACTURER_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cdword ManuID,
_cdword Class,
_cdword Function,
_cstruct ManuData) {
capi_cmsg_header (cmsg,ApplId,0xff,0x80,Messagenumber,adr);
cmsg->ManuID = ManuID;
cmsg->Class = Class;
cmsg->Function = Function;
cmsg->ManuData = ManuData;
return capi_put_cmsg (cmsg);
}
unsigned RESET_B3_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cstruct NCPI) {
capi_cmsg_header (cmsg,ApplId,0x87,0x80,Messagenumber,adr);
cmsg->NCPI = NCPI;
return capi_put_cmsg (cmsg);
}
unsigned SELECT_B_PROTOCOL_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cword B1protocol,
_cword B2protocol,
_cword B3protocol,
_cstruct B1configuration,
_cstruct B2configuration,
_cstruct B3configuration
#ifndef CAPI_LIBRARY_V2
,_cstruct Globalconfiguration
#endif
) {
capi_cmsg_header (cmsg,ApplId,0x41,0x80,Messagenumber,adr);
cmsg->B1protocol = B1protocol;
cmsg->B2protocol = B2protocol;
cmsg->B3protocol = B3protocol;
cmsg->B1configuration = B1configuration;
cmsg->B2configuration = B2configuration;
cmsg->B3configuration = B3configuration;
#ifndef CAPI_LIBRARY_V2
cmsg->Globalconfiguration = Globalconfiguration;
#endif
return capi_put_cmsg (cmsg);
}
unsigned CONNECT_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cword Reject,
_cword B1protocol,
_cword B2protocol,
_cword B3protocol,
_cstruct B1configuration,
_cstruct B2configuration,
_cstruct B3configuration,
#ifndef CAPI_LIBRARY_V2
_cstruct Globalconfiguration,
#endif
_cstruct ConnectedNumber,
_cstruct ConnectedSubaddress,
_cstruct LLC,
_cstruct BChannelinformation,
_cstruct Keypadfacility,
_cstruct Useruserdata,
_cstruct Facilitydataarray) {
capi_cmsg_header (cmsg,ApplId,0x02,0x83,Messagenumber,adr);
cmsg->Reject = Reject;
cmsg->B1protocol = B1protocol;
cmsg->B2protocol = B2protocol;
cmsg->B3protocol = B3protocol;
cmsg->B1configuration = B1configuration;
cmsg->B2configuration = B2configuration;
cmsg->B3configuration = B3configuration;
#ifndef CAPI_LIBRARY_V2
cmsg->Globalconfiguration = Globalconfiguration;
#endif
cmsg->ConnectedNumber = ConnectedNumber;
cmsg->ConnectedSubaddress = ConnectedSubaddress;
cmsg->LLC = LLC;
cmsg->BChannelinformation = BChannelinformation;
cmsg->Keypadfacility = Keypadfacility;
cmsg->Useruserdata = Useruserdata;
cmsg->Facilitydataarray = Facilitydataarray;
return capi_put_cmsg (cmsg);
}
unsigned CONNECT_ACTIVE_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr) {
capi_cmsg_header (cmsg,ApplId,0x03,0x83,Messagenumber,adr);
return capi_put_cmsg (cmsg);
}
unsigned CONNECT_B3_ACTIVE_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr) {
capi_cmsg_header (cmsg,ApplId,0x83,0x83,Messagenumber,adr);
return capi_put_cmsg (cmsg);
}
unsigned CONNECT_B3_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cword Reject,
_cstruct NCPI) {
capi_cmsg_header (cmsg,ApplId,0x82,0x83,Messagenumber,adr);
cmsg->Reject = Reject;
cmsg->NCPI = NCPI;
return capi_put_cmsg (cmsg);
}
unsigned CONNECT_B3_T90_ACTIVE_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr) {
capi_cmsg_header (cmsg,ApplId,0x88,0x83,Messagenumber,adr);
return capi_put_cmsg (cmsg);
}
unsigned DATA_B3_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cword DataHandle) {
capi_cmsg_header (cmsg,ApplId,0x86,0x83,Messagenumber,adr);
cmsg->DataHandle = DataHandle;
return capi_put_cmsg (cmsg);
}
unsigned DISCONNECT_B3_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr) {
capi_cmsg_header (cmsg,ApplId,0x84,0x83,Messagenumber,adr);
return capi_put_cmsg (cmsg);
}
unsigned DISCONNECT_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr) {
capi_cmsg_header (cmsg,ApplId,0x04,0x83,Messagenumber,adr);
return capi_put_cmsg (cmsg);
}
unsigned FACILITY_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cword FacilitySelector,
_cstruct FacilityResponseParameters) {
capi_cmsg_header (cmsg,ApplId,0x80,0x83,Messagenumber,adr);
cmsg->FacilitySelector = FacilitySelector;
cmsg->FacilityResponseParameters = FacilityResponseParameters;
return capi_put_cmsg (cmsg);
}
unsigned INFO_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr) {
capi_cmsg_header (cmsg,ApplId,0x08,0x83,Messagenumber,adr);
return capi_put_cmsg (cmsg);
}
unsigned MANUFACTURER_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr,
_cdword ManuID,
_cdword Class,
_cdword Function,
_cstruct ManuData) {
capi_cmsg_header (cmsg,ApplId,0xff,0x83,Messagenumber,adr);
cmsg->ManuID = ManuID;
cmsg->Class = Class;
cmsg->Function = Function;
cmsg->ManuData = ManuData;
return capi_put_cmsg (cmsg);
}
unsigned RESET_B3_RESP (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cdword adr) {
capi_cmsg_header (cmsg,ApplId,0x87,0x83,Messagenumber,adr);
return capi_put_cmsg (cmsg);
}