FireBirdLib - Topfield TMS PVR TAP Programming Library
TAPCOM_OpenChannel.c
Go to the documentation of this file.
1#include <stdlib.h>
2#include "FBLib_tapcom.h"
3
4TAPCOM_Channel TAPCOM_OpenChannel(dword TargetID, dword ServiceID, dword ParamBlockVersion, void *ParamBlock)
5{
7
8 TAPCOM_InternalMesBuf *mesBuf = NULL;
9
10 if(!LibInitialized && !InitTAPex())
11 {
12 TRACEEXIT();
13 return NULL;
14 }
15
16 mesBuf = (TAPCOM_InternalMesBuf *) TAP_MemAlloc(sizeof(TAPCOM_InternalMesBuf));
17
18 if(mesBuf)
19 {
20 // Speicherbereich für Nachrichtenaustausch anlegen
23 mesBuf->ServerAlive = 0;
24 mesBuf->FromID = __tap_ud__;
25 mesBuf->ToID = TargetID;
26 mesBuf->ServiceID = ServiceID;
27 mesBuf->ParamBlockVersion = ParamBlockVersion;
28 mesBuf->ParamBlock = ParamBlock;
29 mesBuf->Status = TAPCOM_Status_OPEN;
30 mesBuf->ReturnVal = 0;
31 mesBuf->Reserved = 0;
32
33 //Existiert der Ziel-Server überhaupt?
34 if((TargetID != TAPCOM_App_BROADCAST) && !HDD_TAP_isRunning(TargetID))
35 {
37 }
38 else
39 {
40 // TAPCOM Event mit der Adresse des Message-Buffers versenden.
41 HDD_TAP_SendEvent(TargetID, FALSE, EVT_TAPCOM, (dword) mesBuf, 0);
42 }
43 }
44
45 TRACEEXIT();
46 return (TAPCOM_Channel) mesBuf;
47}
bool LibInitialized
Definition: InitTAPex.c:8
#define TAPCOM_SIGNATURE
Definition: FBLib_tapcom.h:9
#define TAPCOM_VERSION
Definition: FBLib_tapcom.h:10
const dword __tap_ud__
TAPCOM_Channel TAPCOM_OpenChannel(dword TargetID, dword ServiceID, dword ParamBlockVersion, void *ParamBlock)
bool InitTAPex(void)
Definition: InitTAPex.c:10
dword HDD_TAP_SendEvent(dword TAPID, bool AllowParamInterception, word event, dword param1, dword param2)
@ TAPCOM_Status_OPEN
Definition: libFireBird.h:2652
@ TAPCOM_Status_SERVER_NOT_AVAILABLE
Definition: libFireBird.h:2653
#define TRACEEXIT()
Definition: libFireBird.h:1244
void * TAPCOM_Channel
Definition: libFireBird.h:2661
bool HDD_TAP_isRunning(dword TAPID)
#define TAPCOM_App_BROADCAST
Definition: libFireBird.h:2644
#define TRACEENTER()
Definition: libFireBird.h:1243
#define EVT_TAPCOM
Definition: libFireBird.h:2636
TAPCOM_Status Status
Definition: FBLib_tapcom.h:24