-- file: PSEEngine.asn1 -- -- ASN.1 syntax definition for the SQL Engine command interface protocol -- PSESQL DEFINITIONS IMPLICIT TAGS ::= BEGIN PSESQLCommands ::= SEQUENCE OF PSESQLMessage PSESQLMessage ::= SEQUENCE { messageID MessageID, protocolOp CHOICE { connectRequest ConnectRequest, connectResponse ConnectResponse, prepareRequest PrepareRequest, prepareResponse PrepareResponse, bindRequest BindRequest, bindResponse BindResponse, executeRequest ExecuteRequest, executeResponse ExecuteResponse, cancelRequest CancelRequest, cancelResponse CancelResponse, fetchRequest FetchRequest, fetchResultEntry FetchResultEntry, fetchResultDone FetchResultDone, getdataRequest GetdataRequest, getdataResultEntry GetdataResultEntry, getdataResultDone GetdataResultDone, closeRequest CloseRequest, closeResponse CloseResponse, destroyRequest DestroyRequest, destroyResponse DestroyResponse, disconnectRequest DisconnectRequest, disconnectResponse DisconnectResponse } } maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) -- MessageID ::= INTEGER (0 .. maxInt) ColumnInfo ::= SEQUENCE { dsn [0] OCTET STRING, tablename [1] OCTET STRING, columnname [2] OCTET STRING, columnnumber [3] INTEGER (0 .. maxInt), datatype [4] INTEGER (0 .. maxInt), size [5] INTEGER (0 .. maxInt), scale [6] INTEGER (0 .. maxInt), nullable [7] BOOLEAN, primarykey [8] BOOLEAN } NumResultCols ::= SEQUENCE { columncount INTEGER (0 .. maxInt) } NumResultRows ::= SEQUENCE { rowcount INTEGER (0 .. maxInt) } ConnectRequest ::= [APPLICATION 0] SEQUENCE { dsn [0] OCTET STRING, uid [1] OCTET STRING, pwd [2] OCTET STRING } ConnectResponse ::= [APPLICATION 1] SEQUENCE { connectionid [0] INTEGER (0 .. maxInt), resultcode [1] OCTET STRING } PrepareRequest ::= [APPLICATION 2] SEQUENCE { connectionid [0] INTEGER (0 .. maxInt), sql [1] OCTET STRING } PrepareResponse ::= [APPLICATION 3] SEQUENCE { columninfo [0] ColumnInfo, numresultcols [1] NumResultCols, numresultrows [2] NumResultRows, resultcode [3] OCTET STRING } BindRequest ::= [APPLICATION 4] SEQUENCE { paramnumber [0] INTEGER (0 .. maxInt), value [1] OCTET STRING } BindResponse ::= [APPLICATION 5] SEQUENCE { resultcode OCTET STRING } ExecuteRequest ::= [APPLICATION 6] SEQUENCE { asynchronous BOOLEAN } ExecuteResponse ::= [APPLICATION 7] SEQUENCE { resultcode OCTET STRING } CancelRequest ::= [APPLICATION 8] SEQUENCE { connectionflag [0] BOOLEAN, connectionid [1] INTEGER (0 .. maxInt) } CancelResponse ::= [APPLICATION 9] SEQUENCE { resultcode [0] OCTET STRING } FetchRequest ::= [APPLICATION 10] SEQUENCE { cursortype [0] INTEGER (0 .. maxInt), cursorsize [1] INTEGER (0 .. maxInt), boundflag [2] BOOLEAN } FetchResultEntry ::= [APPLICATION 11] SEQUENCE { columns [0] SET OF OCTET STRING, values [1] SET OF OCTET STRING } FetchResultDone ::= [APPLICATION 12] SEQUENCE { resultcode [0] OCTET STRING } GetdataRequest ::= [APPLICATION 13] SEQUENCE { columnnumber INTEGER (0 .. maxInt) } GetdataResultEntry ::= [APPLICATION 14] SEQUENCE { column [0] OCTET STRING, value [1] OCTET STRING } GetdataResultDone ::= [APPLICATION 15] SEQUENCE { resultcode [0] OCTET STRING } CloseRequest ::= [APPLICATION 16] SEQUENCE { connectionid INTEGER (0 .. maxInt) } CloseResponse ::= [APPLICATION 17] SEQUENCE { resultcode OCTET STRING } DestroyRequest ::= [APPLICATION 18] SEQUENCE { connectionid INTEGER (0 .. maxInt) } DestroyResponse ::= [APPLICATION 19] SEQUENCE { resultcode OCTET STRING } DisconnectRequest ::= [APPLICATION 20] SEQUENCE { connectionid INTEGER (0 .. maxInt) } DisconnectResponse ::= [APPLICATION 21] SEQUENCE { resultcode OCTET STRING } END