1、INTERNATIONAL STANDARD ISO/IEC 14367 First edition 1996-06-01 Information technology - Test methods for measuring conformance to MHS-based electronic messaging C language interfaces - Binding for Application Program Interface (API) Technologies de /information - MBthodes dessai pour mesurer la confo
2、rmit aux interfaces de langage C en messagerie 4ectronique bas FAX: +1202 728-9614. . . . Vlll Introduction INTERNATIONAL STANDARD OISO/IEC ISO/IEC 14367:1996(E) 1 Information technology-Test methods for 2 measuring conformance to MHS-based 3 electronic messaging C language 4 interfaces-Binding for
3、Application Program 5 Interface (API) 6 7 8 This International Standard defines requirements for test methods for measuring 9 conformance to ISO/IEC 14365 (5). 10 ISO/IEC 14365 (5 contains a programming language binding specification for 11 ISO/IEC 14361 (3), using the C programming language. ISO/IE
4、C 14363 (4) con- 12 tains language-independent requirements for test methods for measuring confor- 13 mance to programming language binding specifications for ISO/IEC 14361 (3), 14 such as that contained in IEEE Std ISOAEC 14365 (5). This International Stan- 15 dard contains C language specific requ
5、irements for the test methods. Taken in 16 conjunction with the requirements imposed by ISOLIEC 14363 (4), they constitute 17 the requirements that shall be satisfied by test methods used for measuring confor- 18 mance to ISO/IEC 14365 (5j. Section 1: General 1.1 Scope 1.1 Scope 1 19 The following s
6、tandards contain provisions which, through reference in this text, 20 constitute provisions of this International Standard. At the time of publication, 21 the editions indicated were valid. AI1 standards are subject to revision, and parties 22 to agreements based on this International Standard are e
7、ncouraged to investigate 23 the possibility of applying the most recent editions of the standards indicated 24 below. Members of IEC and IS0 maintain registers of currently valid Interna- 25 tional Standards. 26 ISOIIEC 9899: 1990,” Programming languages-C. 27 28 29 ISO/IEC 14360: 1996, Information
8、technology-Open Systems Interconnec- tion (022.) abstract data manipulation-Application Program Interface (API) Language independent. 30 31 ISO/IEC 14361: 1996, I f n ormation technology-MHS-based electronic messaging-Application Program Interface (API) Language independent. 32 33 34 ISOIIEC 14363:
9、1996, Information technology-Test methods for measuring conformance to MHS-based electronic messaging-Application Program Interface (API.) Language independent. 35 36 37 ISOIIEC 14365: 1996, Information technology-MHS-based electronic mes- saging C language interfaces-Binding for Application Program
10、 Interface (API). 38 39 IEEE Std 1003.3-1991,2 IEEE Standard for Information Technology-Test Methods for Measuring Conformance to POSIX. ISO/IEC 14367:1996(E) OISO/IEC 1.2 Normative References 40 1.3 Conformance 41 A set of test methods that conforms to this International Standard shall conform to 4
11、2 IEEE Std 1003.3-1991 (61, with references to the “P0SIX.n test method 43 specification” being interpreted as references to this International Standard, and 44 references to “the POSIX standard for which conformance is being measured” being 45 interpreted as references to ISO/IEC 14365 5). 46 1) IS
12、O/IEC documents can be obtained from the IS0 Central Secretariat, 1 Rue de Varembb, Case 47 Postale 56, CH-1211, Gen OM-boolean activated; MI-I-feature; 5.2.2 Interval 5.2.2.1 Synopsis 13 R02 The type MH-interval is declared as follows: 14 typedef OM-uint32 MI-I-interval; 5.2 Datatypes 11 ISO/JEC 14
13、367:1996(E) OISO/IEC 5.2.3 Object Count 15 5.2.3.1 Synopsis 16 17 R03 The type MH-object-count is declared as follows: typedef OM-uint32 MH-object-count; 18 5.2.4 Sequence Number 19 5.2.4.1 Synopsis 20 R04 The type MH-sequence-number is declared as follows: 21 typedef OM-uint32 MH-sequence-number; 2
14、2 5.3 Access Functions 23 5.3.1 Cancel Submission 24 25 26 27 R05 If the Submission FU is supported: When the header file is included, then the function ma-cancel-submission 0 is declared as follows: 28 OM-return-code 29 ma-cancel-submission ( 30 OMqrivate-object session, 31 OM-object mts-identifier
15、 32 1; 5.3.1.1 Synopsis 12 5 Test Methods for MessageHandling Interfaces OISOLIEC ISOLIEC 14367:1996(E) 5.3.1.2 Results 33 001(D) If the Submission FU is supported: 34 When macanceZsubmission ( ) is called and an invalid pointer 35 was supplied as a function argument or as the receptacle for a 36 fu
16、nction result and no other error condition applies, 37 then it will return either OM-SUCCESS or the 38 OMPOINTERINVALID return code. (See GAO1 in 5.5.) 39 5.3.2 Close 40 5.3.2.1 Synopsis 41 42 43 44 OM-return-code 45 ma-close ( 46 OM_private-object session 47 1; R06 If the Basic Access FU is support
17、ed: When the header file is included, then the function ma-close ( is declared as follows: 48 5.3.2.2 Results 49 002(D) If the Basic Access FU is supported: 50 When ma-close ( is called and an invalid pointer was supplied 51 as a function argument or as the receptacle for a function result 52 and no
18、 other error condition applies, then it will return either - 53 OM-SUCCESS or the OM-POINTER-INVALID return code 54 (See GAO1 in 5.5). 5.3 Access Functions 13 55 ISOKEC 14367:1996(E) OISO/IEC 5.3.3 Finish Delivery0 5.3.3.1 Synopsis 56 57 58 R07 If the Delivery FU is supported: When the header file i
19、s included, then the function mufinish-delivery ( is declared as follows: 59 OM-return-code 60 ma-finish-delivery ( 61 OM_private-object session, 62 OM-object delivery-confirmations, 63 OM-object non-delivery-reports 64 1; 65 5.3.3.2 Description 66 003(C) If the Delivery FU is supported: 67 When mu-
20、finish-deZivery(,deZiveryconfirmutions,) is called and 68 completes successfully, then the absence of 69 delivery-confirmations is signaled by the null pointer. 70 004(C) If the Delivery FU is supported: 71 When mu-finish-deZivery(,non-delivery-reports) is called and 72 completes successfully, then
21、the absence of 73 non-delivery-reports is signaled by the null pointer. 74 5.3.3.3 Results 75 005(D) If the Delivery FU is supported: 76 When mu-finish-delivery () is called and an invalid pointer was 77 supplied as a function argument or as the receptacle for a func- 78 tion result and no other err
22、or condition applies, 79 then it will return either OM-SUCCESS or the 80 OM-POINTER-INVALID return code. (See GAO1 in 5.5.) 14 5 Test Methods for Message Handling Interfaces 81 OISO/IEC ISO/IEC 14367:1996(E) 5.3.4 Finish Retrieval0 5.3.4.1 Synopsis 82 83 84 R08 Ifthe Retrieval FU is supported: When
23、the header file is included, then the function mufinish-retrievuZ( is declared as follows: 85 OM-return-code 86 ma-finish-retrieval ( 87 OM_private-object session, 88 OM-boolean remove 89 1; 90 5.3.4.2 Results 91 006(D) If the Retrieval FU is supported: 92 When mufinish-retrieval0 is called and an i
24、nvalid pointer 93 was supplied as a function argument or as the receptacle for a 94 function result and no other error condition applies, 95 then it will return either OM-SUCCESS or the 96 OMPOINTERINVALID return code. (See GAO1 in 5.5.) 97 5.3.5 Open0 98 5.3.5.1 Synopsis 99 100 101 102 OM-return-co
25、de 103 ma-open ( 104 OM_public-object user-address, 105 OM-string client-name, 106 MH-feature feature-list, 107 OM_private-object *session, 108 OM-workspace *workspace 109 1; R09 If the Basic Access FU is supported: When the header file is included, then the function ma-open0 is declared as follows:
26、 5.3 Access Functions 15 ISO/IEX 14367:1996(E) OISO/IEC 5.3.5.2 Description 110 111 112 113 114 115 116 117 118 119 120 121 122 007(C) 008(C) 009(C) If the Basic Access FU is supported: When mu-open(user-uddress,) is called and completes suc- cessfully, then the absence of user-address is signaled b
27、y the null pointer. If the Basic Access FU is supported: When mu-open(,cZient-name,) is called and completes success- fully, then the absence of client-name is signaled by a zero length string. If the Basic Access FU is supported: When mu-open(,feuture-list,) is called and completes success- fully,
28、then the feature-list sequence is terminated by an object identifier having a length of zero and having any value for the data pointer. 123 5.3.5.3 Results 124 010(D) If the Basic Access FU is supported: 125 When mu-open0 is called and an invalid pointer was supplied 126 as a function argument or as
29、 the receptacle for a function result 127 and no other error condition applies, then it will return either - 128 OM-SUCCESS or the OMPOINTERINVALJDl return 129 code. (See GAO1 in 5.5.) 130 5.3.6 Size0 131 5.3.6.1 Synopsis 132 133 134 135 OM-return-code 136 ma-size ( 137 OM_private-object session, 13
30、8 MH-ob j ec t-count *number 139 1; RlO If the Delivery or Retrieval FU is supported: When the header file is included, then the function mu-size0 is declared as follows: 16 5 Test Methods for Message Handling Interfaces OISO/IEC ISO/IEC 14367:1996(E) 5.3.6.2 Results 140 011(D) If the Delivery or Re
31、trieval FU is supported: 141 When mu-size0 is called and an invalid pointer was supplied 142 as a function argument or as the receptacle for a function result 143 and no other error condition applies, then it will return either - 144 OM-SUCCESS or the OMPOINTERINVALID return 145 code. (See GAO1 in 5
32、.5.) 146 5.3.7 Start Delivery0 147 5.3.7.1 Synopsis 148 149 150 151 OM-return-code 152 ma-start-delivery ( 153 OMqrivate-object session, 154 OM_private-object *object 155 1; 156 5.3.7.2 Results 157 158 159 160 161 162 Rll If the Delivery FU is supported: When the header file is included, then the fu
33、nction mu-start-delivery ( is declared as follows: 012(D) If the Delivery FU is supported: When mu-start-delivery ( is called and an invalid pointer was supplied as a function argument or as the receptacle for a func- tion result, and no other error condition applies, then it will return either OM-S
34、UCCESS OM-POINTER-INVALID return code. (See GAOlE 5.5.) the 5.3 Access Functions 17 ISO/IEC 14367:1996(E) OISO/IEC 5.3.8 Start Retrieval0 163 5.3.8.1 Synopsis 164 165 166 R12 If the Retrieval FU is supported: When the header file is included, then the function mu-start-retrievuZ( is declared as foll
35、ows: 167 OM-return-code 168 ma-start-retrieval ( 169 OMqrivate-object session, 170 MI-I-sequence-number minimum-sequence-number, 171 MH-sequence-number *selected-sequence-number, 172 OMqrivate-object *object 173 1; 174 5.3.8.2 Results 175 176 177 178 179 180 181 5.3.9 Submit0 182 5.3.9.1 Synopsis 18
36、3 184 185 186 OM-return-code 187 ma-submit ( 188 OM_private-object session, 189 OM-object communique, 190 OM_private-object *submission-results 191 1; 013(C) If the Retrieval FU is supported: When mu-start-retrieval0 is called and an invalid pointer was supplied as a function argument or as the rece
37、ptacle for a func- tion result and no other error condition applies, then it will return either OM-SUCCESS OM-POINTERJNVALID return code. (See GAO1% 5.5.) the R13 If the Submission FU is supported: When the header file is included, then the function mu-submit (1 is declared as follows: 18 5 Test Met
38、hods for Message Handling Interfaces OISO/IEC ISOLIEC 14367:1996(E) 5.3.9.2 Results 192 014(D) If the Submission FU is supported: 193 When mu-submit0 is called and an invalid pointer was sup- 194 plied as a function argument or as the receptacle for a function 195 result and no other error condition
39、 applies, then it will return 196 either OM-SUCCESS or the OM-POINTERJVVALID 197 return code. (See GAO1 in 5.5.) 198 199 200 201 202 R14 If the Delivery or Retrieval FU is supported: When the header file is included, then the function mu-wait () is declared as follows: 203 OM-return-code 204 ma-wait
40、 ( 205 OM_private-object session, 206 MH-interval interval, 207 MI-I-sequence-number minimumsequencenumber, 208 OM-boolean *available 209 1; 210 5.3.10.2 Results 211 015(D) If the Delivery FU is supported: 212 When muwuit(,minimumsequence_number,) is called and 213 completes successfully, then minim
41、um-sequence-number is 214 ignored by the service. 5.3.10 Wait0 5.3.10.1 Synopsis 5.3 Access Functions 19 ISO/IEC 14367:1996(E) OISO/IEC 5.3.10.3 Results 215 016(D) If the Delivery or Retrieval FU is supported: 216 When mu-wait0 is called and an invalid pointer was supplied 217 as a function argument
42、 or as the receptacle for a function result 218 and no other error condition applies, then it will return either - 219 OM-SUCCESS or the OM-POINTER-INVALID return 220 code. (See GAO1 in 5.5.) 221 5.4 Transfer Functions 222 223 224 225 226 R15 If the Basic Transfer FU is supported: When the header fi
43、le is included, then the function mt-cZose( is declared as follows: 227 OM-return-code 228 mt-close ( 229 OMgrivate-object session 230 1; 231 5.4.1.2 Results 232 017(D) If the Basic Transfer FU is supported: 233 When mt-close0 is called and an invalid pointer was supplied 234 as a function argument
44、or as the receptacle for a function result 235 and no other error condition applies, then it will return either - 236 OM-SUCCESS or the OMPOINTERINVALID return 237 code. (See GAO1 in 5.5.) 5.4.1 Close 5.4.1.1 Synopsis 20 5 Test. Methods for Message Handling Interfaces OISO/IEC ISOAEC 14367:1996(E) 5
45、.4.2 Finish Transfer In 238 5.4.2.1 Synopsis 239 240 241 R16 If the Transfer In FU is supported: When the header file xxmh. h is included, then the function mtjinish-transfer-in ( is declared as follows: 242 OM-return-code 243 mt-finish-transfer-in ( 244 OMqrivate-object 245 OMqrivate-object 246 OM-
46、boolean 247 1; 248 5.4.2.2 Description 249 018(C) If the Transfer In FU is supported: 250 When mtfinish-transfer-in() is called, then the all argument, 251 is true if and only if the object argument is the null pointer. 252 5.4.2.3 Results 253 019(D) If the Transfer In FU is supported: 254 When mtfi
47、nish-transfer-in0 is called and an invalid pointer 255 was supplied as a function argument or as the receptacle 256 for a function result, and no other error condition applies, 257 then it will return either OM-SUCCESS or the 258 OM-POINTERJNVALID return code. (See GAO1 in 5.5.) session, object, rem
48、ove 259 5.4.3 Open 260 5.4.3.1 Synopsis 261 262 263 R17 If the Basic Transfer FU is supported: When the header file is included, then the function mt-open ( is declared as follows: 5.4 Transfer Functions 21 ISO/IEC 14367:1996(E) OISOLEC 264 265 266 267 268 269 270 271 5.4.3.2 Description OM-return-c
49、ode mt-open ( OM-string OM-string MH-feature OMgrivate-object OM-workspace 1; client-name, client-instance-name, feature-list, *session, *workspace 272 020(C) If the Basic Access FU is supported: 273 When mt-open(,feuture-list,) is called and completes success- 274 fully, then the feature-list sequence is terminated by an object 275 identifier having a length of zero and any value for the data 276 pointer. 277 5.4.3.3 Results 278 021(D) If the Basic Transfer FU is supported: 279 When mt-open() is called