/usr/include/openh323/h224.h is in libh323plus-dev 1.24.0~dfsg2-1.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | /*
* h224.h
*
* H.224 PDU implementation for the OpenH323 Project.
*
* Copyright (c) 2006 Network for Educational Technology, ETH Zurich.
* Written by Hannes Friederich.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* Contributor(s): ______________________________________.
*
* $Log: h224.h,v $
* Revision 1.2 2008/05/23 11:19:21 willamowius
* switch BOOL to PBoolean to be able to compile with Ptlib 2.2.x
*
* Revision 1.1 2007/08/06 20:50:48 shorne
* First commit of h323plus
*
* Revision 1.1 2006/06/22 11:07:22 shorne
* Backport of FECC (H.224) from Opal
*
* Revision 1.2 2006/04/23 18:52:19 dsandras
* Removed warnings when compiling with gcc on Linux.
*
* Revision 1.1 2006/04/20 16:48:17 hfriederich
* Initial version of H.224/H.281 implementation.
*
*/
#ifndef __H323_H224_H
#define __H323_H224_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <ptlib.h>
#include <q922.h>
#define H224_HEADER_SIZE 6
#define H224_BROADCAST 0x0000
class H224_Frame : public Q922_Frame
{
PCLASSINFO(H224_Frame, Q922_Frame);
public:
H224_Frame(PINDEX clientDataSize = 254);
~H224_Frame();
PBoolean IsHighPriority() const { return (GetLowOrderAddressOctet() == 0x71); }
void SetHighPriority(PBoolean flag);
WORD GetDestinationTerminalAddress() const;
void SetDestinationTerminalAddress(WORD destination);
WORD GetSourceTerminalAddress() const;
void SetSourceTerminalAddress(WORD source);
// Only standard client IDs are supported at the moment
BYTE GetClientID() const;
void SetClientID(BYTE clientID);
PBoolean GetBS() const;
void SetBS(PBoolean bs);
PBoolean GetES() const;
void SetES(PBoolean es);
PBoolean GetC1() const;
void SetC1(PBoolean c1);
PBoolean GetC0() const;
void SetC0(PBoolean c0);
BYTE GetSegmentNumber() const;
void SetSegmentNumber(BYTE segmentNumber);
BYTE *GetClientDataPtr() const { return (GetInformationFieldPtr() + H224_HEADER_SIZE); }
PINDEX GetClientDataSize() const { return (GetInformationFieldSize() - H224_HEADER_SIZE); }
void SetClientDataSize(PINDEX size) { SetInformationFieldSize(size + H224_HEADER_SIZE); }
PBoolean Decode(const BYTE *data, PINDEX size);
};
#endif // __H323_H224_H
|