/*******************************************************************************
* 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 __LME_CONNECTION_H__
#define __LME_CONNECTION_H__
#include "HECIUnix.h"
#else
#include "HECIWin.h"
#endif
#include <map>
#include <string>
#include "LMS_if.h"
#include "Thread.h"
#include "Semaphore.h"
#include "Event.h"
#include "ATNetworkTool.h"
struct AuthMethodData {
};
};
struct LMEMessage {
MessageType(type) {}
};
ReasonCode(reasonCode) {}
};
};
enum REQUEST_TYPE {
};
RequestType(type) {}
};
UINT32 minorVersion = 0,
{
if (this != &y) {
}
return *this;
};
bool operator<(const struct LMEProtocolVersionMessage &y) const
{
}
}
bool operator>(const struct LMEProtocolVersionMessage &y) const
{
}
}
};
MethodData(methodData) {}
};
};
};
{
} else {
}
}
{
}
}
};
enum CHANNEL_TYPE {
};
UINT32 senderChannel = 0,
UINT32 initialWindow = 0,
};
UINT32 senderChannel = 0,
UINT32 initialWindow = 0) :
};
ReasonCode(reasonCode) {}
};
};
UINT32 dataLength = 0,
{
} else {
}
}
{
}
}
};
UINT32 bytesToAdd = 0) :
BytesToAdd(bytesToAdd) {}
};
{
LMEConnection(bool verbose = false);
~LMEConnection();
bool IsInitialized();
bool UserAuthSuccess();
bool TcpForwardReplyFailure();
bool TcpForwardCancelReplySuccess();
bool TcpForwardCancelReplyFailure();
//BACKWARD COMPATIBLE PUBLIC - BEGIN
bool CompatProtocolVersion();
bool CompatRequestIPFQDN();
//BACKWARD COMPATIBLE PUBLIC - END
void Deinit();
unsigned int GetHeciBufferSize() const;
enum INIT_STATES {
};
unsigned char protocolVer;
static void _rxThreadFunc(void *param);
void _doRX();
void _apfChannelOpenDirect(unsigned char *rxBuffer, unsigned int bytesRead, UINT32 *senderChannel, int *status);
unsigned char _reqID;
unsigned char *_txBuffer;
void *_cbParam;
#else
#endif
//BACKWARD COMPATIBLE PRIVATE - BEGIN
void _doRXCompat();
struct CompatConnection {
int connID;
};
#else
#endif
//BACKWARD COMPATIBLE PRIVATE - END
};
#endif