The Broker-internal RPC CIS Server provides the Command and Information Services using the Remote Procedure Call (RPC) protocol.
Two CIS IDL files are available in directory EntireX\etc\idl.
RPC CIS is a complete implementation of the Command and Information Services.
See Broker CIS Data Structures for a description of the CIS API. The names of the fields can also be found in the IDL (with case-insensitive and insignificant modifications).
The service names SAG/ETBCIS/RPCCIS
and RPC/RPCCIS/CALLNAT
can be used for all
versions of the CIS IDLs.
This document covers the following topics:
The files SagCmdServiceV6.idl to SagCmdServiceV8.idl are contained in directory etc. They provide an interface description of CIS version 6 and above. Brokers with more recent CIS versions are backward compatible down to version 6 via RPC CIS.
File SagCmdServiceV8.idl provides the interface description for all Command Services of CIS version 8.
This section covers the following topics:
struct 'COMMAND_REQUEST' is /*Broker CIS: command request structure define data parameter 1 Command (I2) 1 ObjectType (I2) 1 Option (I2) 1 puid (B28) 1 uowid (A16) 1 Topic (A96) 1 uid (A32) 1 Token (A32) 1 ServerClass (A32) 1 ServerName (A32) 1 ServiceName (A32) 1 reserved_etbinfo_v73_2 (A32) 1 convid (A16) 1 transportId (A3) 1 nSequenceNumber (I4) 1 cExcludeAttachServers (I1) 1 nErrorNumber (I4) 1 collectorBrokerId (A64) 1 hostName (A256) 1 processId (A16) end-define
The request structure is described under Command Request Structure. Note also the Command Request Parameter Combinations.
Program 'COMMAND':'command' is /*command request define data parameter 1 CmdRequest ('COMMAND_REQUEST') In 1 Function_Result (I4) Out end-define
You can call the command service using program COMMAND
, with the structure COMMAND_REQUEST
as argument. See Command Request Structure. Alternatively, you can enter the functions listed in the table directly:
Program Short Name (1) | Long Name (2) | Number | Command |
---|---|---|---|
COMMAND |
command |
n | all available commands |
CALLOW |
cmdAllow |
13 | ALLOW-NEWUOWMSGS |
CCLECLF |
cmdClearCmdLogFilter |
20 | CLEAR-CMDLOG-FILTER |
CNOP |
cmdNoOperation |
88 | NO-OPERATION |
CCONPST |
cmdConnectPStore |
17 | CONNECT-PSTORE |
CDISACC |
cmdDisableAccounting |
28 | DISABLE-ACCOUNTING |
CDISCL |
cmdDisableCmdLog |
24 | DISABLE-CMDLOG |
CDISCLF |
cmdDisableCmdLogFilter |
22 | DISABLE-CMDLOG-FILTER |
CDISDWK |
cmdDisableDynWorker |
37 | DISABLE-DYN-WORKER |
CDISPST |
cmdDisconnectPStore |
18 | DISCONNECT-PSTORE |
CENAACC |
cmdEnableAccounting |
27 | ENABLE-ACCOUNTING |
CENACL |
cmdEnableCmdLog |
23 | ENABLE-CMDLOG |
CENACLF |
cmdEnableCmdLogFilter |
21 | ENABLE-CMDLOG-FILTER |
CENADWK |
cmdEnableDynWorker |
38 | ENABLE-DYN-WORKER |
CFORBID |
cmdForbid |
14 | FORBID-NEWUOWMSGS |
CPROSTA |
cmdProduceStatistics |
25 | PRODUCE-STATISTICS |
CPURGE |
cmdPurge |
12 | PURGE |
CRSTUSR |
cmdResetUser |
29 | RESET-USER |
CTRARES |
cmdResume |
31 | RESUME |
CSETCLF |
cmdSetCmdLogFilter |
19 | SET-CMDLOG-FILTER |
CSHUTB |
cmdShutdownBroker |
8 | SHUTDOWN (3) |
CSHUTC |
cmdShutdownConversation |
8 | SHUTDOWN |
CSHUTP |
cmdShutdownParticipant |
8 | SHUTDOWN |
CSHUTS |
cmdShutdownServer |
8 | SHUTDOWN |
CTRASTR |
cmdStart |
33 | START |
CTRASTA |
cmdStatus |
36 | STATUS |
CTRASTP |
cmdStop |
32 | STOP |
CTRASUS |
cmdSuspend |
30 | SUSPEND |
CSWICL |
cmdSwitchCmdLog |
26 | SWITCH-CMDLOG |
CTRCFLU |
cmdTraceFlush |
35 | TRACE-FLUSH |
CTRCOFF |
cmdTraceOff |
2 | TRACE-OFF |
CTRCON |
cmdTraceOn |
1 | TRACE-ON |
CTRPERR |
cmdTrapError |
34 | TRAP-ERROR |
Notes:
CSHUTB
(cmdShudtownBroker
) in a non-secure mode.
The prototypes and source code can be found in the generated files:
Language | File(s) |
---|---|
C | CSAGCCV8.h, CSAGCCV8.c |
Java | SagCmdServiceV8.java |
.NET | Sagccv8.cs |
Files SagInfServiceV6.idl to SagInfServiceV8.idl are contained in directory etc. They provide an interface description of CIS version 6 and above. Brokers with more recent CIS versions are backward compatible down to version 6 via RPC CIS.
File SagInfServiceV8.idl provides the interface description for all Information Services. The following functions are used to receive an unbounded array of the corresponding Broker Information Service.
See also Using Unbounded Arrays.
struct 'INFORMATION_REQUEST' is /*CIS: information request define data parameter 1 ObjectType (I2) 1 uid (A32) 1 puid (B28) 1 Token (A32) 1 ServerClass (A32) 1 ServerName (A32) 1 ServiceName (A32) 1 convid (A16) 1 uowid (A16) 1 uowStatus (I1) 1 userStatus (A32) 1 recvUID (A32) 1 recvToken (A32) 1 recvClass (A32) 1 recvServer (A32) 1 recvService (A32) 1 conversationType (I2) 1 level (I1) end-define
The request structure is described under Information Request Structure.
The optional parameter level
, which only appears in the Info Service IDL, determines the service used:
If level=0
the RPC request is passed to the broker-internal service USER-INFO
(default).
If level=1
the RPC request is passed to the service INFO
.
program 'INFO':'info' is /*all define data parameter 1 InfRequest ('INFORMATION_REQUEST') In 1 InfBroker ('INFO_BRK'/V) Out 1 InfWorker ('INFO_WRK'/V) Out 1 InfService ('INFO_SV'/V) Out 1 InfClient ('INFO_CS'/V) Out 1 InfServer ('INFO_CS'/V) Out 1 InfParticipant ('INFO_CS'/V) Out 1 InfConversation ('INFO_CV'/V) Out 1 InfPSF ('INFO_PSF'/V) Out 1 InfPSFADA ('INFO_PSFADA'/V) Out 1 InfPSFDIV ('INFO_PSFDIV'/V) Out 1 InfPSFFile ('INFO_PSFFILE'/V) Out 1 InfPSFCTree ('INFO_PSFCTREE'/V) Out 1 InfTcp ('INFO_TCP'/V) Out 1 InfSecurity ('INFO_SECURITY'/V) Out 1 InfSsl ('INFO_SSL'/V) Out 1 InfCmdLogFilter ('INFO_CMDLOG_FILTER'/V) Out 1 InfNet ('INFO_NET'/V) Out 1 InfPoolUsage ('INFO_POOL_USAGE'/V) Out 1 InfResourceUsage ('INFO_RESOURCE_USAGE'/V) Out 1 InfStatistics ('INFO_STATISTICS'/V) Out 1 InfUser ('INFO_USER'/V) Out 1 InfWorkerUsage ('INFO_WRK_USAGE'/V) Out 1 Function_Result (I4) Out end-define
You can call the information service using program INFO
, with the structure INFORMATION_REQUEST
as argument. See Information Request Structure. Depending on the object type, the reply will contain the corresponding INFO_
structure containing one or more records. The variable array contains all available data. No segmentation takes place. Alternatively,
you can call directly the functions listed below for the individual object types.
All functions below return the corresponding structure from the information reply structures.
Program Short Name (1) | Long Name (2) | See |
---|---|---|
INFO |
info |
One of available reply structures; see Information Reply Structures |
IBROKER |
infoBroker |
BROKER-OBJECT |
ICMDLGF |
infoCmdLogFilter |
CMDLOG_FILTER-OBJECT |
ICLIENT |
infoClient |
CLIENT-SERVER-PARTICIPANT-OBJECT |
ICONV |
infoConversation |
CONVERSATION-OBJECT |
INET |
infoNet |
NET-OBJECT |
IPOOLUS |
infoPoolUsage |
POOL-USAGE-OBJECT |
IPARTI |
infoParticipant |
CLIENT-SERVER-PARTICIPANT-OBJECT |
IPSF |
infoPsf |
PSF-OBJECT |
IPSFADA |
infoPsfAda |
PSFADA-OBJECT |
IPSFCTR |
infoPsfCtr |
PSFCTREE-OBJECT |
IPSFDIV |
infoPsfDiv |
PSFDIV-OBJECT |
IRESUS |
infoResourceUsage |
RESOURCE-USAGE-OBJECT |
ISECUR |
infoSecurity |
SECURITY-OBJECT |
ISERVER |
infoServer |
CLIENT-SERVER-PARTICIPANT-OBJECT |
ISERVIC |
infoService |
SERVICE-OBJECT |
ISSL |
infoSSL |
SSL-OBJECT |
ISTAT |
infoStatistics |
STATISTICS-OBJECT |
ITCP |
infoTcp |
TCP-OBJECT |
IUSER |
infoUser |
USER-OBJECT |
IWORKER |
infoWorke |
WORKER-OBJECT |
IWORKUS |
infoWorkerUsage |
WORKER-USAGE-OBJECT |
Notes:
The prototypes and source code can be found in the generated files:
Language | File(s) |
---|---|
C | CSAGCIV8.h, CSAGCIV8.c |
Java | SagInfServiceV8.java |
.NET | Sagciv8.cs |