CAN CSA-ISO IEC 10728D-2000 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4 RPC IDL binding.pdf

上传人:rimleave225 文档编号:590228 上传时间:2018-12-15 格式:PDF 页数:17 大小:1.14MB
下载 相关 举报
CAN CSA-ISO IEC 10728D-2000 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4 RPC IDL binding.pdf_第1页
第1页 / 共17页
CAN CSA-ISO IEC 10728D-2000 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4 RPC IDL binding.pdf_第2页
第2页 / 共17页
CAN CSA-ISO IEC 10728D-2000 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4 RPC IDL binding.pdf_第3页
第3页 / 共17页
CAN CSA-ISO IEC 10728D-2000 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4 RPC IDL binding.pdf_第4页
第4页 / 共17页
CAN CSA-ISO IEC 10728D-2000 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4 RPC IDL binding.pdf_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Amendment 4:2000 toNational Standard of CanadaCAN/CSA-ISO/IEC 10728-95Amendment 4:1998 to International Standard ISO/IEC 10728:1993has been adopted without modification as Amendment 4:2000 toCAN/CSA-ISO/IEC 10728-95. This Amendment was reviewed by theCSA Technical Committee on Information Technology

2、 (TCIT) under thejurisdiction of the Strategic Steering Committee on InformationTechnology and deemed acceptable for use in Canada. December 2000G35G48G49G48G55G48G51G46G48 G51G58G50G45G48G55G2cG36G32G12G2cG28G26 G14G13G1aG15G1bG1dG14G1cG1cG16G12G24G50G47G11G14G1dG14G1cG1cG1bGbG28GcINTERNATIONAL STA

3、NDARD 10728 First edition 1993-04- 15 AMENDMENT 4 1998-05-01 Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4: RPC IDL binding Technologies de Yin formation - Interface de services du gestionnaire de ressources du systkme dinforma tions (RDS) AMEN

4、DEMENT 4: Connexion RPC IDL ISO/IEC 10728: 1993/Amd.4: 1998(E) Foreword IS0 (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of IS0 or IEC participa

5、te in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. IS0 and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental an

6、d non-governmental, in liaison with IS0 and IEC, also take part in the work. In the field of information technology, IS0 and IEC have established a joint technical committee, ISOLIEC JTC 1. Draft International Standards adopted by the joint technical committee are circulated to national bodies for v

7、oting. Publication as an International Standard requires approval by at least 75% of the national bodies casting a vote. Amendment 4 to ISO/IEC 10728: 1993 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 2 1, Open systems interconnection, data managem

8、ent and open distributed processing. 0 ISO/IEC 1998 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from the publisher

9、. ISO/IEC Copyright Office l Case postale 56 l CH- 1211 Gekve 20 l Switzerland Printed in Switzerland ii o ISO/IEC ISO/IEC 10728:1993/Amd.4:1998(E) Introduction This Amendment to ISO/IEC 10728 defines the RPC IDL interface to an IS0 IRDS. An IS0 IRDS RPC IDL binding makes IS0 IRDS repository facilit

10、ies available to an RPC environment. This: a b) increases the availability of IS0 IRDS functionality; provides IRDS access at low cost to a wider community. The range of languages from which the IS0 IRDS Services Interface can be accessed is increased to all of those that can access services defined

11、 by the RPC IDL. Tool vendors, tool builders, data providers and data consumers will benefit from this broader accessibility of an IS0 IRDS. The general principles set out in ISOIIEC TR10182: 1993, Information technology - Programming languages, their environments and system sofhvare inteflaces - Gu

12、idelines for language bindings, have been considered during the development of this Amendment. . . . 111 This page intentionally left blank o ISOIIEC ISO/IEC 10728: 1993iAmd.4: 1998(E) Information technology - Information Resource Dictionary System (IRDS) Services Interface AMENDMENT 4: RPC IDL bind

13、ing Page v Contents Add a new entry to the Table of Contents as follows: “Annex F- RPC IDL binding” Page 1 Clause 1 Add a new sentence in Clause 1 paragraph 2, before the last sentence. “A language binding for RPC IDL is provided in Annex F.” Page 1 Clause 2 Add a new Normative Reference. “ISOLEC 11

14、578: 1996 Information technology - Open Systems Interconnection Remote Procedure Call (RPC) ” Page 5 Subclause 4.4 Add a new sentence in subclause 4.4. “Data structures for use with RPC IDL are defined in Annex F.” Page 5 Subclause 4.5 Add a new sentence in subclause 4.5 “RPC IDL bindings for the se

15、rvices are provided in Annex F.” Page 71 Subclause 8.1 Amend the first sentence of the NOTE in clause 8.1 to read: For the Pascal language binding specified in this clause, the C language binding specified in Annex C, the Ada language binding specified in Annex D ,the CORBA IDL binding specified in

16、Annex E and the RPC IDL binding specified in Annex F, enumerated types are . ” Page 75 Clause 9 Amend the first sentence of the second paragraph of Clause 9 to read: “The service formats are specified in this clause using IS0 standard Pascal. Alternative service formats for use with the C language b

17、inding are specified in Annex C, for the Ada language binding in Annex D, the CORBA IDL binding in Annex E and the RPC IDL binding in Annex F.” Page 105 Add a new Annex F as follows: ISO/IEC 10728: 1993/Amd.4: 1998(E) 0 ISO/IEC Annex F (normative) RPC IDL Binding The IRDS Services Interface language

18、 bindings for the IDL Interface Definition Language are presented in the form of a .idl file as set out in clause F.3 below. Fl . Strategy for the Language Binding In this binding the data names and data structures defined in clause 8 have been adhered to except where the RPC IDL does not provide an

19、 appropriate construct. Use of this language binding requires the use of a RPC IDL compiler that conforms to ISO/IEC 11578. F2 . General Rules 1. Those data names in F.3 below that also appear in Clause 8 shall have the same meaning as is defined in Clause 8. The same rules for the use of separators

20、 as defined in Clause 8 shall apply l 2. The function and parameter names in F.3 below shall have the same meaning as is defined in Clause 9. 3. The Service Return Codes returned shall be those defined by Clause 9 and Annex A and they shall have the same meaning. 4. The following mappings form SQL d

21、ata types to RPC IDL data types have been used: SQL DATA TYPE CHARACTER CHARACTER VARYING NATIONAL CHARACTER NATIONAL CHARACTER VARYING REAL DOUBLE PRECISION FLOAT INTEGER SMALLINT NUMERIC DECIMAL DATE TIME TIMESTAMP INTERVAL RPC IDL DATA TYPE char * char * char * char * float double float long shor

22、t long long IrdsDate IrdsTime IrdsTimeS tamp IrdsInterval 5. Every function returns an int which is to be set to the value of the NumStates field of the RetCode returned by the function. 2 ISO/IEC ISO/IEC 10728:1993/Amd.4: 1998(E) F3 . IDL Interface Definition The following is the IDL interface defi

23、nition to an IS0 IRDS. local interface irds /* clause 8.1.3 - these definitions are used in 8.2.3 below */ /* The values nl, n2, n3, n4 in this clause are to be implementor by suitable implementor defined values as ISO/IEC 10728. */ replaced by the in clause 8.1.3 of const short IrdsSessIdLim = nl;

24、/* nl e.g 255 */ /* IrdsSessIdLim used in 8.2.3 below */ const short 1rdscurIdLi.m = n2; /* n2 e.g 255 */ /* IrdsCurIdLim used in 8.2.3 below */ const short IrdsImpDicNameLen = n3; /* n3 e.g 255 */ /* IrdsImpDicNameLen used in 8.2.3 below */ const short IrdsKeyLen = n4; /* n4 e.g 255 */ /* IrdsKeyLe

25、n used in 8.2.1 below */ /* Clause 8.1.4 Data Types */ typedef enum IrdsDataTypeChar, /* SQL CHARACTER */ IrdsDataTypeCharaVar, /* SQL CHARACTER VARYING */ IrdsDataTypeNatCharaVar, /* SQL NATIONAL CHARACTER VARYING */ IrdsDataTypeReal, /* SQL REAL */ IrdsDataTypeDouble, /* SQL DOUBLE PRECISION */ Ir

26、dsDataTypeFloat, /* SQL FLOAT */ IrdsDataTypeInteger, /* SQL INTEGER */ IrdsDataTypeSmallint, /* SQL SMALLINT */ IrdsDataTypeNumeric, /* SQL NUMERIC */ IrdsDataTypeDecimal, /* SQL DECIMAL */ IrdsDataTypeDate, /* SQL DATE */ IrdsDataTypeTime, /* SQL TIME */ IrdsDataTypeTimestamp, /* SQL TIMESTAMP */

27、IrdsDataTypeInterval, /* SQL INTERVAL */ IrdsDataTypeIrdsKey /* SQL IRDS KEY */ IrdsDataType; /* Clause 8.1.5 IRD Content Status Classes */ typedef enum IrdsDcsClsUcntl, /* Uncontrolled */ IrdsDcsClsCntl, /* Controlled */ IrdsDcsClsArch /* Archived */ IrdsDcsCls; /* Clause 8.1.6 Close Type parameter

28、 */ typedef enum RequestIrdsCommit, /* COMMIT */ RequestIrdsRollback /* ROLLBACK */ IrdsCloseType; ISO/IEC 10728: 1993/Amd.4:1998(E) /* Clause 8.2.1 Column data types */ typedef struct char char char char char ) IrdsDate; typedef struct char char char char char char char IrdsTime; typedef struct Ird

29、sDate char IrdsTime IrdsTimestamp; typedef struct char char IrdsTime IrdsInterval; Year41; Sepl; Month21; Sep2; Day21; Hour2; Sepl; Minute2; Sep2; Second2; Sep3; Fraction3; Date; SepT; Time; Days 71 ; SepI; Time; typedef char IrdsKeyIrdsKeyLen; /* IrdsKeyLen is defined in 8.1.3 above */ /* Clause 8.

30、2.2 Object Names */ typedef char IrdsSQLNamel28; /* 128 is set by ISO/IEC 9075;1992 database Language SQL */ typedef char IrdsNameIrdsNameLim; /* IrdsNameLim is defined in 8.1.1 above */ typedef char IrdsVarNameIrdsVarLim; /* IrdsVarLim is defined in 8.1.1 above */ typedef char UserIdIrdsNameLim; /*

31、 IrdsNameLim is defined in 8.1.1 above */ o ISO/IEC ISO/IEC ISO/IEC 10728:1993/Amd.4: 1998(E) /* Clause 8.2.4 Diagnostics Area */ typedef struct 1 char char IrdsState; StateClass2; StateSubClass3; /* IrdsState is used in 8.2.5 below */ typedef struct short IrdsState IrdsSQLName IrdsSQLName IrdsSQLNa

32、me IrdsSQLName short IrdsSQLName IrdsStateRec; IrdStateSeq; IrdReturnedState; IrdConstraintSchema; IrdConstraintName; IrdSchemaName; IrdTableName; IrdColumnNumber; IrdColumnName; /* IrdsStateRec is used in the Get Diagnostics Service in 9.1.8 below *l /* Clause 8.2.5 Service Return Code */ typedef s

33、truct short NumStates; IrdsState State; IrdsRetCode; /* In the C binding the column list actually is a list. In this IDL binding the list is a sequence. *i typedef union IrdsDataTypeUnion switch(IrdsDataType ColType) case IrdsDataTypeChar: case IrdsDataTypeCharVar: case IrdsDataTypeNatChar: case Ird

34、sDataTypeNatCharVar: case IrdsDataTypeReal: case IrdsDataTypeFloat: case IrdsDataTypeInteger: case IrdsDataTypeSmallint: case IrdsDataTypeNumeric: case IrdsDataTypeDate: case IrdsDataTypeTime: case IrdsDataTypeTimestamp: case IrdsDataTypeInterval: case IrdsDataTypeIrdsKey: IrdsDataTypeUnion; string,

35、 ptr char* ColValText; double ColValReal; float ColValFloat; long ColValLongInteger; short ColValShortInteger; long ColValLongNumeric; IrdsDate ColValDate; IrdsTime ColValTime; IrdsTimestamp ColValTimestamp; IrdsInterval ColValInterval; string, ptr char* ColValIrdsKey; 5 ISO/IEC 10728:1993/Amd.4:199

36、8(E) o ISO/IEC struct IrdsSingleColSpec IrdsSQLName ColName; boolean ColNull; IrdsDataTypeUnion IrdsColVal; typedef struct short NumCols; char StateSubClass3; size-is(NumCols) IrdsSingleColSpec ColSpecList; IrdsColList; /* Clause 91.1 Create IRD Definition Service */ short IrdsCreateIRDDefinition in

37、 UserId IrdsUser, in IrdsImpDicName IrdDefName, out IrdsSessId CurrSessId, out IrdsRetCode RetCode /* Clause 9.1.2 Drop IRD Definition Service */ short IrdsDropIRDDefinition in UserId IrdsUser, in IrdsImpDicName IrdDefName, out IrdsRetCode RetCode ; /* Clause 91.3 Open IRDS Service */ short IrdsOpen

38、 in UserId IrdsUser, in IrdsImpDicName IrdDefName, in IrdsName IrdDicName, in boolean WillUpdate, out handle-t * CurrSessId, out IrdsRetCode RetCode ; /* End of definition of interface IrdsServicesInterfaceProcessor */ explicit-handle interface IrdsSession /* Clause 9.1.4 Prepare Service */ short Ir

39、dsPrepare in handle t - out IrdsRetCode IrdsSessId, RetCode ISOIIEC ISO/IEC 10728:1993/Amd.4:1998(E) /* Clause 9.1.5 Commit Service */ short IrdsCommit in handle-t out IrdsRetCode IrdsSessId, RetCode /* Clause 9.1.6 Rollback Service */ short IrdsRollback in handle-t IrdsSessId, out IrdsRetCode RetCo

40、de /* Clause 91.7 Close IRDS Service */ short IrdsClose in handle-t IrdsSessId, in IrdsCloseType CloseType, out IrdsRetCode RetCode /* Clause 9.1.8 Get Diagnostics Service */ short IrdsGetDi agnostics in handle-t IrdsSessId, in short StateNum, out IrdsStateRec StateRec, out IrdsRetCode RetCode /* Cl

41、ause 9.2.1 Set Context Service */ short IrdsSetContext in handle-t IrdsSessId, in IrdsName SessWkgSetName, in IrdsName SessWkgSetVerIrd, in boolean Willupdate, out IrdsRetCode RetCode /* Clause 9.2.2 Add Object Service */ short IrdsAddObject in handle-t IrdsSessId, in IrdsName ObjType, in IrdsColLis

42、t NewCols, out IrdsRetCode RetCode 7 ISO/IEC 10728:1993/Amd.4:1998(E) o ISO/IEC /* Clause 9.2.3 Open Cursor Service */ short IrdsOpenCursor in handle-t IrdsSessId, in boolean UseContext, in, string, ptr char* ObjSelExpr, in IrdsName WkgSetName, in IrdsName in boolean WkgSetVerId, FullContext, in boo

43、lean WillUpdate, out IrdsCurId ObjCurId, out IrdsRetCode RetCode /* Clause 9.2.4 Retrieve Object Service */ short IrdsRetrieveObject in handle t - IrdsSessId, in IrdsCurId ObjCurId, in, out IrdsColList RequestedCols, out IrdsRetCode RetCode /* Clause 9.2.5 Modify Object Service */ short IrdsModifyOb

44、ject in handle t in IrdsCurId in IrdsColList out IrdsRetCode IrdsSessId, ObjCurId, ModifiedCols, RetCode /* Clause 9.2.6 Delete Object Service */ short IrdsDeleteObject in handle t in IrdsCurId IrdsSessId, ObjCurId, out IrdsRetCode RetCode /* Clause 9.2.7 IrdsDeclassifyObject Service */ short IrdsDe

45、classifyObject in handle-t IrdsSessId, in IrdsCurId ObjCurId, out IrdsRetCode RetCode 0 ISO/IEC ISO/IEC 10728: 1993/Amd.4: 1998(E) /* Clause 9.2.8 IrdsReclassifyObject Service */ short IrdsReclassifyObject in handle-t IrdsSessId, in IrdsCurId ObjCurId, in IrdsName NewObjType, in IrdsColList NewCols,

46、 out IrdsRetCode RetCode /* Clause 9.2.9 Close Cursor Service */ short IrdsCloseCursor in handle-t IrdsSessId, in IrdsCurId ObjCurId, out IrdsRetCode RetCode I I /* Clause 9.2.10 Create Working Set Service */ short IrdsCreateWorkingSet in handle-t IrdsSessId, in IrdsName NewWkgSetName, in IrdsName N

47、ewWkgSetVerId, in IrdsName NewDcs, in IrdsName BasisWkgSetName, in IrdsName BasisWkgSetVerId, in boolean Versionable, out IrdsRetCode RetCode /* Clause 9.2.11 Drop Working Set Service */ short IrdsDropWorkingSet ( in handle-t IrdsSessId, in IrdsName WkgSetName, in IrdsName WkgSetVerId, out IrdsRetCo

48、de RetCode /* Clause 9.2.12 Modify Content Status Service */ short IrdsModifyContentStatus in handle-t IrdsSessId, in IrdsName WkgSetName, in IrdsName WkgSetVerId, in IrdsName NewDcs, out IrdsRetCode RetCode 9 ISO/IEC 10728:1993/Amd.4:1998(E) o ISO/IEC /* Clause 9.2.13 Create Reference Path Service

49、*/ short IrdsCreateRefPath in handle-t in IrdsName in IrdsName out IrdsRetCode IrdsSessId, ToWkgSetName, ToWkgSetVerId, RetCode /* Clause 9.2.14 Modify Reference Path Service */ short IrdsModifyRefPath in handle-t in IrdsName in IrdsName in IrdsName in IrdsName out IrdsRetCode IrdsSessId, OldToWkgSetName, OldToWkgSetVerId, NewToWkgSetName,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国际标准 > 其他

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1