Protocol.h revision 617e2443dfc17fe44fd44c0675d6aad2ffc9df42
/*******************************************************************************
* Copyright (C) 2004-2008 Intel Corp. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
*
* - Neither the name of Intel Corp. nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*******************************************************************************/
#ifndef _PROTOCOL_H_
#define _PROTOCOL_H_
#include <map>
#include <vector>
#include <set>
#include <string>
#include "types.h"
#include "LMS_if.h"
#include "LMEConnection.h"
#include "PortForwardRequest.h"
#include "Channel.h"
#include "Semaphore.h"
#define SOCKET int
#define INVALID_SOCKET (SOCKET)(~0)
#define SOCKET_ERROR (-1)
#else
#include <windows.h>
#endif // __sun || _LINUX
#ifdef _REMOTE_SUPPORT
#include "ConfigConnection.h"
#endif
#define FQDN_MAX_SIZE 256
{
static const LMEProtocolVersionMessage MIN_PROT_VERSION;
static const LMEProtocolVersionMessage MAX_PROT_VERSION;
enum SOCKET_STATUS {
ACTIVE = 0,
};
Protocol();
~Protocol();
bool CreateSockets();
void DestroySockets();
bool SocketsCreated() { return _sockets_active; }
bool IsDeInitialized();
bool IsInitialized();
int Select();
void Deinit();
void DeinitFull();
bool oldProtocolMode;
#ifdef _REMOTE_SUPPORT
#endif
void _closePortForwardRequest(PortForwardRequest *p);
void _signalSelect();
int _rxFromSocket(SOCKET s);
int _handleFQDNChange(const char *fqdn);
int _updateIPFQDN(const char *fqdn);
#ifdef _REMOTE_SUPPORT
bool _checkRemoteSupport(bool requestDnsFromAmt = false);
#endif
struct Connection {
SOCKET s;
};
char *_rxSocketBuffer;
unsigned int _rxSocketBufferSize;
#ifdef _REMOTE_SUPPORT
#endif
bool _sockets_active;
#ifdef _REMOTE_SUPPORT
bool _remoteAccessEnabled;
#endif
enum VERSION_HANDSHAKING {
};
enum SERVICE_STATUS {
};
char _AMTFQDN[FQDN_MAX_SIZE];
void *_eventLogParam;
bool _deinitReq;
};
#endif