101 lines
5.1 KiB
C
101 lines
5.1 KiB
C
|
/*======================================================================================//
|
||
|
| //
|
||
|
|Copyright (c) 1998, 1999 Sequent Computer Systems, Incorporated //
|
||
|
| //
|
||
|
|Description: //
|
||
|
| //
|
||
|
|---------------------------------------------------------------------------------------//
|
||
|
| This file is the ProcCon header file showing 'on the wire' data for clients/service //
|
||
|
|---------------------------------------------------------------------------------------//
|
||
|
| //
|
||
|
|Created: //
|
||
|
| //
|
||
|
| Jarl McDonald 07-98 //
|
||
|
| //
|
||
|
|Revision History: //
|
||
|
| //
|
||
|
|=======================================================================================*/
|
||
|
|
||
|
// Requests flow from clients to the service. They contain at most one API data item.
|
||
|
typedef struct _PCRequest {
|
||
|
#pragma pack(1)
|
||
|
PCINT32 reqSignature; // sanity check signature
|
||
|
PCINT32 reqSeq; // requestor sequence number
|
||
|
BYTE reqOp; // requested operation: list, add, replace, delete, etc.
|
||
|
BYTE reqType; // requested data type: name rule, mgmt rule, mgmt detail, etc.
|
||
|
BYTE reqVersion; // expected data version code: to support structure changes over time
|
||
|
BYTE future[5]; // fill to 8-byte bdry
|
||
|
PCINT32 reqFlags; // flags for additional information
|
||
|
PCINT32 reqUpdCtr; // requestor's update counter from prior retrieval operation.
|
||
|
PCINT64 reqIndex; // requestor's insertion point, etc.
|
||
|
PCINT32 reqCount; // requestor's returned data item maximum count
|
||
|
PCINT32 reqFirst; // requestor's first data item retrieval index
|
||
|
PCINT32 maxReply; // max user data in reply (excludes reply header)
|
||
|
PCINT16 reqDataLen; // length of the single data item that follows or 0 if none. In bytes.
|
||
|
BYTE reqFuture[32];
|
||
|
BYTE reqData[2]; // data item -- one of the API structures
|
||
|
#pragma pack()
|
||
|
} PCRequest;
|
||
|
|
||
|
// Responses flow from the service to clients. They may contain many data items.
|
||
|
typedef struct _PCResponse {
|
||
|
#pragma pack(1)
|
||
|
PCINT32 rspReqSignature; // echo of sanity check signature
|
||
|
PCINT32 rspReqSeq; // echo of requestor sequence number
|
||
|
BYTE rspReqOp; // echo of original request operation
|
||
|
BYTE rspReqType; // echo of original request data type
|
||
|
BYTE rspReqVersion; // echo of original data version code
|
||
|
BYTE rspVersion; // response version: indicates version of data items returned
|
||
|
BYTE rspResult; // operation result: success, failure, addl info, etc.
|
||
|
BYTE future[3]; // fill to 8-byte bdry
|
||
|
PCINT32 rspFlags; // flags for additional information
|
||
|
PCINT32 rspError; // NT or PC error resulting from the request if rspResult shows error
|
||
|
PCINT32 rspTimeStamp; // time stamp associated with the data returned
|
||
|
PCINT32 rspUpdCtr; // Update counter to use on future related operations.
|
||
|
PCINT16 rspDataItemCount; // number of data items that follow or 0.
|
||
|
PCINT16 rspDataItemLen; // length of each data item that follows or 0. In bytes.
|
||
|
BYTE rspFuture[32];
|
||
|
BYTE rspData[2]; // data items -- an array of one of the API structures
|
||
|
#pragma pack()
|
||
|
} PCResponse;
|
||
|
|
||
|
typedef enum _PCReqOp {
|
||
|
PCOP_GET = 1,
|
||
|
PCOP_ADD = 2,
|
||
|
PCOP_REP = 3,
|
||
|
PCOP_DEL = 4,
|
||
|
PCOP_ORD = 5,
|
||
|
PCOP_CTL = 6,
|
||
|
PCOP_KILL = 7,
|
||
|
} PCReqOp;
|
||
|
|
||
|
typedef enum _PCReqRspType {
|
||
|
PCTYPE_NAMERULE = 1,
|
||
|
PCTYPE_JOBSUMMARY = 2,
|
||
|
PCTYPE_PROCSUMMARY = 3,
|
||
|
PCTYPE_PROCLIST = 4,
|
||
|
PCTYPE_JOBLIST = 5,
|
||
|
PCTYPE_PROCDETAIL = 6,
|
||
|
PCTYPE_JOBDETAIL = 7,
|
||
|
PCTYPE_SERVERINFO = 8,
|
||
|
PCTYPE_SERVERPARMS = 9,
|
||
|
PCTYPE_CONTROL = 77,
|
||
|
} PCReqRspType;
|
||
|
|
||
|
typedef enum _PCRspResult {
|
||
|
PCRESULT_SUCCESS = 0,
|
||
|
PCRESULT_NTERROR = 1,
|
||
|
PCRESULT_PCERROR = 2,
|
||
|
} PCRspResult;
|
||
|
|
||
|
typedef enum _PCReqFlags {
|
||
|
PCREQFLAG_DOLIST = 0x00000001, // perform a list op (based on data) after doing op
|
||
|
} PCReqFlags;
|
||
|
|
||
|
typedef enum _PCRspFlags {
|
||
|
PCRSPFLAG_MOREDATA = 0x00000001, // more data exists
|
||
|
} PCRspFlags;
|
||
|
|
||
|
// End of ProcConClnt.h
|
||
|
//============================================================================J McDonald fecit====//
|