⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 z3950v3.asn

📁 ASN.1工具源代码,包括编译源码生成工具和各种基本类型构造类型的编解码实现代码
💻 ASN
📖 第 1 页 / 共 5 页
字号:
Z39-50-APDU-1995 -- OID for this definition, assigned in OID.3.1, is {Z39-50 2 1} DEFINITIONS ::=  BEGIN   -- Z39.50 Maintenance Agency Official Text for ANSI/NISO Z39.50-1995 - July 1995--EXPORTS OtherInformation, Term, AttributeSetId, AttributeList, AttributeElement, ElementSetName, SortElement, DatabaseName,CompSpec, Specification, Permissions, InternationalString, IntUnit, Unit, StringOrNumeric, Query, Records, ResultSetId,DefaultDiagFormat, DiagRec;--PDU ::= CHOICE{ initRequest        [20] IMPLICIT InitializeRequest, initResponse      [21] IMPLICIT InitializeResponse, searchRequest      [22] IMPLICIT SearchRequest, searchResponse      [23] IMPLICIT SearchResponse, presentRequest      [24] IMPLICIT PresentRequest, presentResponse      [25] IMPLICIT PresentResponse, deleteResultSetRequest    [26] IMPLICIT DeleteResultSetRequest, deleteResultSetResponse    [27] IMPLICIT DeleteResultSetResponse, accessControlRequest    [28] IMPLICIT AccessControlRequest, accessControlResponse    [29] IMPLICIT AccessControlResponse, resourceControlRequest         [30] IMPLICIT ResourceControlRequest, resourceControlResponse    [31] IMPLICIT ResourceControlResponse, triggerResourceControlRequest  [32] IMPLICIT TriggerResourceControlRequest, resourceReportRequest          [33] IMPLICIT ResourceReportRequest, resourceReportResponse    [34] IMPLICIT ResourceReportResponse, scanRequest         [35] IMPLICIT ScanRequest, scanResponse      [36] IMPLICIT ScanResponse,              -- [37] through [42] reserved sortRequest        [43] IMPLICIT SortRequest, sortResponse      [44] IMPLICIT SortResponse, segmentRequest      [45] IMPLICIT Segment, extendedServicesRequest    [46] IMPLICIT ExtendedServicesRequest, extendedServicesResponse    [47] IMPLICIT ExtendedServicesResponse, close          [48] IMPLICIT Close}-- Initialize APDUs--  InitializeRequest ::= SEQUENCE{  referenceId        ReferenceId OPTIONAL,  protocolVersion      ProtocolVersion,  options        Options,  preferredMessageSize  [5]  IMPLICIT INTEGER,   exceptionalRecordSize  [6]  IMPLICIT INTEGER,   idAuthentication    [7]    IdAuthentication OPTIONAL, -- see note below  implementationId    [110]  IMPLICIT InternationalString OPTIONAL,  implementationName  [111]  IMPLICIT InternationalString OPTIONAL,   implementationVersion  [112]  IMPLICIT InternationalString OPTIONAL,     userInformationField  [11]  EXTERNAL OPTIONAL,  otherInfo        OtherInformation OPTIONAL}--Note:-- For idAuthentication, the type ANY is retained for compatibility with earlier versions. -- For interoperability, the following is recommended:IdAuthentication ::=   CHOICE{      open   VisibleString,      idPass  SEQUENCE {      groupId  [0]  IMPLICIT InternationalString OPTIONAL,      userId   [1]  IMPLICIT InternationalString OPTIONAL,      password  [2]  IMPLICIT InternationalString OPTIONAL },      anonymous  NULL,      other    EXTERNAL   }-- May use access control formats for 'other'.  See Appendix 7 ACC.--  InitializeResponse ::= SEQUENCE{  referenceId        ReferenceId OPTIONAL,   protocolVersion                ProtocolVersion,  options              Options,  preferredMessageSize  [5]  IMPLICIT INTEGER,   exceptionalRecordSize  [6]  IMPLICIT INTEGER,  result        [12]  IMPLICIT BOOLEAN,    -- reject = FALSE; Accept = TRUE  implementationId    [110]  IMPLICIT InternationalString OPTIONAL,  implementationName  [111]  IMPLICIT InternationalString OPTIONAL,   implementationVersion  [112]  IMPLICIT InternationalString OPTIONAL,     userInformationField  [11]  EXTERNAL OPTIONAL,  otherInfo        OtherInformation OPTIONAL}-- Begin auxiliary definitions for Init PDUs  ProtocolVersion  ::=  [3]   IMPLICIT BIT STRING{    version-1      (0),       -- This bit should always be set, but does not              -- correspond to any Z39.50 version.    version-2      (1),              -- "Version 2 supported."              -- This bit should always be set.    version-3      (2)        -- "Version 3 supported."-- Values higher than 'version-3' should be ignored. Both the Initialize request and Initialize Response APDUs-- include a value string corresponding to the supported versions. The highest common version is selected-- for use. If there are no versions in common, "Result" in the Init Response should indicate "reject."-- Note: Versions 1 and 2 are identical. Systems supporting version 2 should indicate support for version-- 1 as well, for interoperability with systems that indicate support for version 1 only (e.g. ISO 10163-1991-- implementations).    }  Options  ::= [4] IMPLICIT BIT STRING{       search        (0),       present       (1),       delSet        (2),       resourceReport    (3),      triggerResourceCtrl    (4),      resourceCtrl       (5),       accessCtrl       (6),      scan         (7),      sort        (8),       --        (9) (reserved)      extendedServices    (10),      level-1Segmentation    (11),      level-2Segmentation    (12),      concurrentOperations  (13),      namedResultSets    (14)}-- end auxiliary definitions for Init PDUs--Search APDUs  SearchRequest ::= SEQUENCE{  referenceId          ReferenceId OPTIONAL,      smallSetUpperBound    [13]  IMPLICIT INTEGER,  largeSetLowerBound    [14]  IMPLICIT INTEGER,  mediumSetPresentNumber    [15]  IMPLICIT INTEGER,  replaceIndicator      [16]  IMPLICIT BOOLEAN,  resultSetName      [17]  IMPLICIT InternationalString,   databaseNames      [18]   IMPLICIT SEQUENCE OF DatabaseName,   smallSetElementSetNames    [100]  ElementSetNames OPTIONAL,    mediumSetElementSetNames  [101]  ElementSetNames OPTIONAL,  preferredRecordSyntax    [104]  IMPLICIT OBJECT IDENTIFIER OPTIONAL,  query          [21]  Query,    -- Following two parameters may be used only if version 3 is in force.   additionalSearchInfo    [203]  IMPLICIT OtherInformation OPTIONAL,  otherInfo          OtherInformation OPTIONAL}-- Query Definitions  Query  ::=  CHOICE{      type-0  [0]  ANY,          type-1    [1]  IMPLICIT RPNQuery,        type-2      [2]  OCTET STRING,        type-100  [100]  OCTET STRING,        type-101  [101]  IMPLICIT RPNQuery,       type-102  [102]  OCTET STRING}---- Definitions for RPN query     RPNQuery ::= SEQUENCE{      attributeSet    AttributeSetId,      rpn      RPNStructure}--  RPNStructure ::= CHOICE{    op    [0] Operand,      rpnRpnOp  [1] IMPLICIT SEQUENCE{          rpn1    RPNStructure,                rpn2    RPNStructure,                op    Operator }}   Operand ::= CHOICE{    attrTerm  AttributesPlusTerm,     resultSet  ResultSetId,           -- If version 2 is in force:           --   - If query type is 1, one of the above two must be chosen;           --   - resultAttr (below) may be used only if query type is 101.     resultAttr  ResultSetPlusAttributes}  AttributesPlusTerm ::= [102] IMPLICIT SEQUENCE{         attributes  AttributeList,         term    Term}  ResultSetPlusAttributes ::= [214] IMPLICIT SEQUENCE{        resultSet  ResultSetId,        attributes  AttributeList}  AttributeList ::=    [44]  IMPLICIT SEQUENCE OF AttributeElement--  Term ::= CHOICE{    general      [45]  IMPLICIT OCTET STRING,              -- values below may be used only if version 3 is in force    numeric      [215]  IMPLICIT INTEGER,    characterString    [216]  IMPLICIT InternationalString,    oid        [217]  IMPLICIT OBJECT IDENTIFIER,    dateTime      [218]  IMPLICIT GeneralizedTime,    external      [219]  IMPLICIT EXTERNAL,    integerAndUnit    [220] IMPLICIT IntUnit,    nullterm        [221] IMPLICIT NULL}     Operator ::= [46] CHOICE{         and    [0] IMPLICIT NULL,            or    [1] IMPLICIT NULL,                and-not  [2] IMPLICIT NULL,              -- If version 2 is in force:               --  - For query type 1, one of the above three must be chosen;              --  - prox (below) may be used only if query type is 101.         prox    [3] IMPLICIT ProximityOperator}  AttributeElement  ::=  SEQUENCE{    attributeSet    [1]    IMPLICIT AttributeSetId OPTIONAL,                -- Must be omitted if version 2 is in force.                -- If included, overrides value of attributeSet                -- in RPNQuery above, but only for this attribute.    attributeType  [120]  IMPLICIT INTEGER,    attributeValue    CHOICE{              numeric  [121]   IMPLICIT INTEGER,                  -- If version 2 is in force,                   -- Must select 'numeric' for attributeValue.      complex  [224] IMPLICIT SEQUENCE{                list      [1] IMPLICIT SEQUENCE OF StringOrNumeric,                    semanticAction  [2] IMPLICIT SEQUENCE OF INTEGER OPTIONAL}}}                         ProximityOperator ::= SEQUENCE{    exclusion      [1] IMPLICIT BOOLEAN OPTIONAL,    distance      [2] IMPLICIT INTEGER,    ordered      [3] IMPLICIT BOOLEAN,    relationType      [4] IMPLICIT INTEGER{              lessThan      (1),              lessThanOrEqual    (2),              equal        (3),              greaterThanOrEqual    (4),              greaterThan      (5),              notEqual      (6)},    proximityUnitCode    [5] CHOICE{              known  [1] IMPLICIT KnownProximityUnit,              privatepu  [2] IMPLICIT INTEGER}}--    KnownProximityUnit ::= INTEGER{          character  (1),          word     (2),          sentence   (3),          paragraph   (4),          section   (5),          chapter   (6),          document   (7),          element  (8),          subelement  (9),          elementType  (10),           byte    (11) -- Version 3 only          }-- End definitions for RPN QuerySearchResponse ::= SEQUENCE{  referenceId        ReferenceId OPTIONAL,  resultCount       [23]  IMPLICIT INTEGER,  numberOfRecordsReturned  [24]  IMPLICIT INTEGER,  nextResultSetPosition  [25]  IMPLICIT INTEGER,  searchStatus      [22]  IMPLICIT BOOLEAN,  resultSetStatus    [26]  IMPLICIT INTEGER{              subset    (1),                 interim  (2),                none    (3)} OPTIONAL,  presentStatus        PresentStatus  OPTIONAL,    records        Records OPTIONAL,    -- Following two parameters may be used only if version 3 is in force.  additionalSearchInfo  [203]  IMPLICIT OtherInformation OPTIONAL,  otherInfo        OtherInformation OPTIONAL}--Retrieval APDUs   PresentRequest ::= SEQUENCE{  referenceId          ReferenceId OPTIONAL,      resultSetId          ResultSetId,  resultSetStartPoint      [30]  IMPLICIT INTEGER,  numberOfRecordsRequested  [29]  IMPLICIT INTEGER,  additionalRanges      [212]  IMPLICIT SEQUENCE OF Range OPTIONAL,      -- additionalRanges may be included only if version 3 is in force.  recordComposition      CHOICE{                simple  [19]         ElementSetNames,                -- must choose 'simple' if version 2 is in force                complex  [209]               IMPLICIT CompSpec} OPTIONAL,  preferredRecordSyntax    [104]  IMPLICIT OBJECT IDENTIFIER OPTIONAL,  maxSegmentCount      [204]  IMPLICIT INTEGER OPTIONAL, -- level 1 or 2  maxRecordSize      [206]  IMPLICIT INTEGER OPTIONAL, -- level 2 only  maxSegmentSize      [207]  IMPLICIT INTEGER OPTIONAL, -- level 2 only  otherInfo          OtherInformation OPTIONAL}--  Segment ::= SEQUENCE{      -- Segment PDU may only be used when version 3 is in force,       -- and only when segmentation is in effect.   referenceId          ReferenceId OPTIONAL,     numberOfRecordsReturned    [24]  IMPLICIT INTEGER,  segmentRecords      [0]  IMPLICIT SEQUENCE OF NamePlusRecord,  otherInfo          OtherInformation OPTIONAL}--  PresentResponse ::= SEQUENCE{  referenceId          ReferenceId OPTIONAL,  numberOfRecordsReturned    [24]  IMPLICIT INTEGER,   nextResultSetPosition    [25]  IMPLICIT INTEGER,    presentStatus          PresentStatus,  records          Records OPTIONAL,  otherInfo          OtherInformation OPTIONAL} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -