Objective Systems, Inc.  

ooLogChan.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2004-2009 by Objective Systems, Inc.
00003  *
00004  * This software is furnished under an open source license and may be
00005  * used and copied only in accordance with the terms of this license.
00006  * The text of the license may generally be found in the root
00007  * directory of this installation in the COPYING file.  It
00008  * can also be viewed online at the following URL:
00009  *
00010  *   http://www.obj-sys.com/open/license.html
00011  *
00012  * Any redistributions of this file including modified versions must
00013  * maintain this copyright notice.
00014  *
00015  *****************************************************************************/
00021 #ifndef _OOLOGCHAN_H_
00022 #define _OOLOGCHAN_H_
00023 
00024 #include "ootypes.h"
00025 #include "ooCapability.h"
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00034 struct ooH323EpCapability;
00035 struct OOH323CallData;
00036 
00040 typedef enum {
00041    OO_LOGICAL_CHAN_UNKNOWN,
00042    OO_LOGICALCHAN_IDLE,
00043    OO_LOGICALCHAN_PROPOSED,
00044    OO_LOGICALCHAN_ESTABLISHED
00045 } OOLogicalChannelState;
00046 
00050 typedef struct OOLogicalChannel {
00051    int  channelNo;
00052    int  sessionID;
00053    enum OOCapType type;
00054    char dir[10];  /* receive/transmit */
00055    char remoteIP[20];
00056    int  remoteMediaPort;
00057    int  remoteMediaControlPort;
00058    int  localRtpPort;
00059    int  localRtcpPort;
00060    char localIP[20];
00061    OOLogicalChannelState state;
00062    struct ooH323EpCapability *chanCap;
00063    struct OOLogicalChannel *next;
00064 } OOLogicalChannel;
00065 
00066 #define ooLogicalChannel OOLogicalChannel
00067 
00080 EXTERN ooLogicalChannel* ooAddNewLogicalChannel
00081    (struct OOH323CallData *call, int channelNo, int sessionID,
00082     char *dir, ooH323EpCapability *epCap);
00083 
00094 EXTERN ooLogicalChannel* ooFindLogicalChannelByLogicalChannelNo
00095 (struct OOH323CallData *call, int channelNo);
00096 
00107 EXTERN int ooOnLogicalChannelEstablished
00108 (struct OOH323CallData *call, OOLogicalChannel * pChannel);
00109 
00122 EXTERN ooLogicalChannel* ooGetLogicalChannel
00123 (struct OOH323CallData *call, int sessionID, char *dir);
00124 
00134 EXTERN int ooRemoveLogicalChannel (struct OOH323CallData *call, int ChannelNo);
00135 
00145 EXTERN int ooClearLogicalChannel (struct OOH323CallData *call, int channelNo);
00146 
00154 EXTERN int ooClearAllLogicalChannels (struct OOH323CallData *call);
00155 
00165 EXTERN OOLogicalChannel * ooFindLogicalChannelByOLC
00166 (struct OOH323CallData *call, H245OpenLogicalChannel *olc);
00167 
00179 EXTERN OOLogicalChannel * ooFindLogicalChannel
00180 (struct OOH323CallData* call, int sessionID, char *dir, H245DataType* dataType);
00181 
00186 #ifdef __cplusplus
00187 }
00188 #endif
00189 
00190 #endif

This file was last modified on 28 May 2010.
Objective Open H.323 Stack, 0.9.1