blob: 5239c78426a66e3546f5c2a73ea12c1208904853 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
// @@@ START COPYRIGHT @@@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
// @@@ END COPYRIGHT @@@
//
///////////////////////////////////////////////////////////////////////////////
#ifndef PTPCLIENT_H_
#define PTPCLIENT_H_
#ifndef NAMESERVER_PROCESS
#include "process.h"
#include "internal.h"
class CPtpClient
{
protected:
int eyecatcher_; // Debuggging aid -- leave as first
// member variable of the class
public:
CPtpClient( void );
virtual ~CPtpClient( void );
int InitializePtpClient( int pnid, char* ptpPort );
int ProcessAddUniqStr( int nid
, int id
, const char* stringValue
, int targetNid
, const char* targetNodeName );
int ProcessClone( CProcess* process );
int ProcessExit( CProcess* process
, int parentNid
, const char* targetNodeName );
int ProcessInit( CProcess* process
, void* tag
, int result
, int parentNid );
int ProcessKill( CProcess* process
, bool abort
, int targetNid
, const char* targetNodeName );
int ProcessNew( CProcess* process
, int targetNid
, const char* targetNodeName );
int ProcessNotify( int nid
, int pid
, Verifier_t verifier
, _TM_Txid_External transId
, bool canceled
, CProcess* targetProcess
, int targetNid
, const char* targetNodeName );
int ProcessStdInReq( int nid
, int pid
, StdinReqType type
, int supplierNid
, int supplierPid );
int ProcessStdIoData( int nid
, int pid
, StdIoType type
, ssize_t count
, char* data );
private:
int ptpCommPort_;
char ptpHost_[MAX_PROCESSOR_NAME];
char ptpPortBase_[MAX_PROCESSOR_NAME+100];
int *ptpClusterSocks_;
int seqNum_;
bool IsTargetRemote( int targetNid );
int SendToMon( const char* reqType
, internal_msg_def* msg
, ptpMsgInfo_t &myInfo
, int receiveNode
, const char* hostName);
void SetLocalHost( void );
void SockClose( int pnid );
int SockReceive(char* buf, int size, int sockFd);
int SockSend( char* buf
, int size
, int sockFd);
};
#endif
#endif /*PTPCLIENT_H_*/