00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076 #ifndef _CIF_H
00077 #define _CIF_H
00078
00079
00080 #ifndef CIF_VERSION
00081 # define CIF_VERSION 1
00082 #endif
00083
00084
00085 #define _CIF_INT_VERSION 3
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 #define CIF_SUB_VERSION_2 3
00096 #define CIF_SUB_VERSION_3 1
00097
00098
00099
00100
00101
00102
00103 #if defined(__STDC__) && CIF_VERSION > _CIF_INT_VERSION || CIF_VERSION < 1
00104 #error "Please define CIF_VERSION correctly. If in doubt, use CIF_VERSION 1"
00105 #endif
00106
00107
00108
00109
00110
00111 #if defined(__STDC__) || defined(__cplusplus)
00112 # define __(_A) _A
00113 #else
00114 # define __(_A) ()
00115 #endif
00116
00117 #if defined(__cplusplus)
00118 # define CIF_BEGIN_DECLS extern "C" {
00119 # define CIF_END_DECLS };
00120 #else
00121 # define CIF_BEGIN_DECLS
00122 # define CIF_END_DECLS
00123 #endif
00124
00125 extern int Cif_Open __((char *, char *, int *, int));
00126
00127
00128
00129
00130
00131
00132
00133
00134 #if CIF_VERSION == 1
00135 # define Cif_Open Cif_Open_V1
00136 #endif
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157 #if CIF_VERSION == 2
00158 # define Cif_Open(A,B,C,D) \
00159 Cif_Open_V2_1((A), (B), (C), (D), CIF_SUB_VERSION_2)
00160 # define Cif_Lines(A,B,C,D, E) \
00161 Cif_Lines_V2_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_2)
00162 # define Cif_Cifconv(A,B,C,D, E) \
00163 Cif_Cifconv_V2_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_2)
00164 #endif
00165
00166 #if CIF_VERSION == 3
00167 # define Cif_Open(A,B,C,D) \
00168 Cif_Open_V3_1((A), (B), (C), (D), CIF_SUB_VERSION_3)
00169 # define Cif_Lines(A,B,C,D, E) \
00170 Cif_Lines_V3_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_3)
00171 # define Cif_Cifconv(A,B,C,D, E) \
00172 Cif_Cifconv_V3_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_3)
00173 #endif
00174
00175
00176 #ifndef FIELD
00177
00178 #ifdef AIXV3
00179 #define FIELD unsigned int
00180 #else
00181 #define FIELD unsigned int
00182 #endif
00183 #endif
00184
00185
00186 #define CIF_CALLSITE 1
00187 #define CIF_CIFHDR 2
00188 #define CIF_COMBLK 3
00189 #define CIF_CONST 4
00190
00191 #if CIF_VERSION != 1
00192 #define CIF_CDIR 5
00193 #endif
00194
00195 #define CIF_ENTRY 6
00196 #define CIF_FILE 7
00197 #define CIF_LOOP 8
00198 #define CIF_INCLUDE 9
00199 #define CIF_LABEL 10
00200 #define CIF_MESSAGE 11
00201 #define CIF_NAMELIST 12
00202 #define CIF_OBJECT 13
00203 #define CIF_SRCFILE 14
00204 #define CIF_SUMMARY 15
00205
00206 #if CIF_VERSION != 1
00207 #define CIF_CDIR_DOSHARED 16
00208 #endif
00209
00210 #define CIF_UNIT 17
00211 #define CIF_ENDUNIT 18
00212 #define CIF_USAGE 19
00213 #define CIF_ND_MSG 20
00214 #define CIF_EDOPTS 21
00215 #define CIF_MACH_CHAR 22
00216 #define CIF_MISC_OPTS 23
00217 #define CIF_OPT_OPTS 24
00218 #define CIF_STMT_TYPE 25
00219
00220 #if CIF_VERSION != 1
00221 #define CIF_GEOMETRY 26
00222 #define CIF_CONTINUATION 27
00223 #endif
00224
00225 #if CIF_VERSION != 1
00226 #define CIF_F90_CALLSITE 28
00227 #define CIF_F90_COMBLK 29
00228 #define CIF_F90_CONST 30
00229 #define CIF_F90_ENTRY 31
00230 #define CIF_F90_LOOP 32
00231 #define CIF_F90_DERIVED_TYPE 33
00232 #define CIF_F90_LABEL 34
00233 #define CIF_F90_NAMELIST 35
00234 #define CIF_F90_OBJECT 36
00235 #define CIF_F90_MISC_OPTS 37
00236 #define CIF_F90_OPT_OPTS 38
00237 #define CIF_F90_BEGIN_SCOPE 39
00238 #define CIF_F90_END_SCOPE 40
00239 #define CIF_F90_SCOPE_INFO 41
00240 #define CIF_F90_USE_MODULE 42
00241 #define CIF_F90_RENAME 43
00242 #define CIF_F90_INT_BLOCK 44
00243 #define CIF_F90_VECTORIZATION 45
00244
00245 #define CIF_BE_NODE 46
00246
00247 #if CIF_VERSION >= 2
00248 #define CIF_BE_FID 50
00249 #endif
00250
00251 #define CIF_TRANSFORM 47
00252
00253 #endif
00254
00255 #define CIF_FILEDIR 48
00256 #define CIF_UNITDIR 49
00257 #define CIF_C_TAG 51
00258 #define CIF_C_OPTS 52
00259 #define CIF_C_MESSAGE 53
00260 #define CIF_C_CONST 54
00261 #define CIF_C_ENTRY 55
00262 #define CIF_C_OBJECT 56
00263 #if CIF_VERSION == 1
00264 #define CIF_MAXRECORD 57
00265 #else
00266 #define CIF_C_LINT_DIRECTIVE 57
00267 #define CIF_C_MACRO_DEF 58
00268 #define CIF_C_MACRO_UNDEF 59
00269 #define CIF_C_MACRO_USAGE 60
00270 #define CIF_C_ENTRY_END 61
00271
00272 #if CIF_VERSION == 3
00273
00274 #define CIF_ORIG_CMD 70
00275
00276 #define CIF_CC_TYPE 80
00277 #define CIF_CC_ENTRY 81
00278 #define CIF_CC_OBJ 82
00279 #define CIF_CC_SUBTYPE 83
00280 #define CIF_CC_ENUM 84
00281 #define CIF_CC_EXPR 85
00282
00283 #define CIF_SRC_POS 86
00284
00285 #define CIF_MAXRECORD 100
00286 #define CIF_MAXRECORD_1 57
00287 #define CIF_MAXRECORD_2 62
00288
00289 #else
00290
00291 #define CIF_MAXRECORD 62
00292 #define CIF_MAXRECORD_1 57
00293
00294 #endif
00295
00296 #endif
00297
00298
00299 #define CIF_BTC_TYPELESS 0x00
00300 #define CIF_BTC_SBITFLD 0x01
00301 #define CIF_BTC_UBITFLD 0x02
00302 #define CIF_BTC_SCHAR 0x03
00303 #define CIF_BTC_UCHAR 0x04
00304 #define CIF_BTC_SSHORT 0x05
00305 #define CIF_BTC_USHORT 0x06
00306 #define CIF_BTC_SINT 0x07
00307 #define CIF_BTC_UINT 0x08
00308 #define CIF_BTC_SLONG 0x09
00309 #define CIF_BTC_ULONG 0x0a
00310 #define CIF_BTC_FLOAT 0x0b
00311 #define CIF_BTC_DOUBLE 0x0c
00312 #define CIF_BTC_LDOUBLE 0x0d
00313 #define CIF_BTC_FCOMPLX 0x0e
00314 #define CIF_BTC_DCOMPLX 0x0f
00315 #define CIF_BTC_LDCOMPLX 0x10
00316 #define CIF_BTC_VOID 0x11
00317 #define CIF_BTC_STRUCT 0x12
00318 #define CIF_BTC_UNION 0x13
00319 #define CIF_BTC_ENUM 0x14
00320 #define CIF_BTC_UNKNOWN 0xff
00321 #define CIF_BTC_MAX 32
00322
00323
00324 #define CIF_CCT_INT 1
00325 #define CIF_CCT_FLOAT 2
00326 #define CIF_CCT_COMPLEX 3
00327 #define CIF_CCT_VOID 4
00328 #define CIF_CCT_CLASS 5
00329 #define CIF_CCT_STRUCT 6
00330 #define CIF_CCT_UNION 7
00331 #define CIF_CCT_TYPEDEF 8
00332 #define CIF_CCT_QUALIFIED 9
00333 #define CIF_CCT_ENUM 10
00334 #define CIF_CCT_FUNCTION 11
00335 #define CIF_CCT_POINTER 12
00336 #define CIF_CCT_ARRAY 13
00337 #define CIF_CCT_PTRMEM 14
00338 #define CIF_CCT_TEMPAR 15
00339
00340
00341
00342 #define CIF_CB_REG 0
00343 #define CIF_CB_TASK 1
00344 #define CIF_CB_LOCAL 2
00345 #define CIF_CB_AUX 3
00346 #define CIF_CB_THREAD_PRIVATE 4
00347 #define CIF_CB_MAX 5
00348
00349
00350 #define CIF_DM_CONSTANT 0
00351 #define CIF_DM_EXPR 1
00352 #define CIF_DM_ASSUMED 2
00353 #define CIF_DM_MAX 3
00354
00355
00356 #define CIF_DT_UNKNOWN 0
00357 #define CIF_DT_TYPELESS 1
00358 #define CIF_DT_INT32 2
00359 #define CIF_DT_INT46 3
00360 #define CIF_DT_INT64 4
00361 #define CIF_DT_REAL 5
00362 #define CIF_DT_DOUBLE 6
00363 #define CIF_DT_FCHAR 7
00364 #define CIF_DT_COMPLEX 8
00365 #define CIF_DT_DBLE_CMPLX 9
00366 #define CIF_DT_FPTR 10
00367 #define CIF_DT_LOGICAL 11
00368 #define CIF_DT_FCPTR 12
00369 #define CIF_DT_DERIVED 13
00370 #define CIF_DT_MAX 14
00371
00372
00373 #if CIF_VERSION != 1
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387 #define CIF_F90_DT_UNKNOWN 0
00388 #define CIF_F90_DT_FPTR 10
00389 #define CIF_F90_DT_FCPTR 12
00390
00391 #if CIF_VERSION == 2
00392 #define CIF_F90_DT_SHORT_CHAR_CONST 21
00393 #define CIF_F90_DT_SHORT_TYPELESS 22
00394 #define CIF_F90_DT_LONG_TYPELESS 23
00395 #endif
00396
00397 #define CIF_F90_DT_TYPELESS 22
00398
00399 #define CIF_F90_DT_INTEGER_1 24
00400 #define CIF_F90_DT_INTEGER_2 25
00401 #define CIF_F90_DT_INTEGER_4 26
00402 #define CIF_F90_DT_INTEGER_6 27
00403 #define CIF_F90_DT_INTEGER_8 28
00404 #define CIF_F90_DT_REAL_4 29
00405 #define CIF_F90_DT_REAL_8 30
00406 #define CIF_F90_DT_REAL_16 31
00407 #define CIF_F90_DT_COMPLEX_4 32
00408 #define CIF_F90_DT_COMPLEX_8 33
00409 #define CIF_F90_DT_COMPLEX_16 34
00410 #define CIF_F90_DT_LOGICAL_1 36
00411 #define CIF_F90_DT_LOGICAL_2 37
00412 #define CIF_F90_DT_LOGICAL_4 38
00413 #define CIF_F90_DT_LOGICAL_8 39
00414 #define CIF_F90_DT_CHARACTER_1 40
00415 #define CIF_F90_DT_CHARACTER_2 41
00416 #define CIF_F90_DT_CHARACTER_4 42
00417 #define CIF_F90_DT_MAX 43
00418
00419 #endif
00420
00421
00422
00423
00424 #define CIF_EDF_OPTa 0x00000001
00425 #define CIF_EDF_OPTc 0x00000002
00426 #define CIF_EDF_OPTd 0x00000004
00427 #define CIF_EDF_OPTf 0x00000008
00428 #define CIF_EDF_OPTg 0x00000010
00429 #define CIF_EDF_OPTh 0x00000020
00430 #define CIF_EDF_OPTi 0x00000040
00431 #define CIF_EDF_OPTj 0x00000080
00432 #define CIF_EDF_OPTm 0x00000100
00433 #define CIF_EDF_OPTn 0x00000200
00434 #define CIF_EDF_OPTo 0x00000400
00435 #define CIF_EDF_OPTp 0x00000800
00436 #define CIF_EDF_OPTq 0x00001000
00437 #define CIF_EDF_OPTr 0x00002000
00438 #define CIF_EDF_OPTs 0x00004000
00439 #define CIF_EDF_OPTu 0x00008000
00440 #define CIF_EDF_OPTv 0x00010000
00441 #define CIF_EDF_OPTw 0x00020000
00442 #define CIF_EDF_OPTx 0x00040000
00443 #define CIF_EDF_OPTz 0x00080000
00444 #define CIF_EDF_OPTB 0x00100000
00445 #define CIF_EDF_OPTP 0x00200000
00446 #define CIF_EDF_OPTS 0x00400000
00447
00448 #if CIF_VERSION != 1
00449 #define CIF_EDF_OPTt 0x00800000
00450 #endif
00451
00452
00453 #if CIF_VERSION != 1
00454
00455
00456 #define CIF_F90_EDF_OPTa 0x00000001
00457 #define CIF_F90_EDF_OPTd 0x00000002
00458 #define CIF_F90_EDF_OPTf 0x00000004
00459 #define CIF_F90_EDF_OPTi 0x00000008
00460 #define CIF_F90_EDF_OPTj 0x00000010
00461 #define CIF_F90_EDF_OPTn 0x00000020
00462 #define CIF_F90_EDF_OPTp 0x00000040
00463 #define CIF_F90_EDF_OPTq 0x00000080
00464 #define CIF_F90_EDF_OPTr 0x00000100
00465 #define CIF_F90_EDF_OPTt 0x00020000
00466 #define CIF_F90_EDF_OPTu 0x00000200
00467 #define CIF_F90_EDF_OPTv 0x00000400
00468 #define CIF_F90_EDF_OPTz 0x00000800
00469 #define CIF_F90_EDF_OPTB 0x00001000
00470 #define CIF_F90_EDF_OPTP 0x00002000
00471 #define CIF_F90_EDF_OPTS 0x00004000
00472 #define CIF_F90_EDF_OPTA 0x00008000
00473 #define CIF_F90_EDF_OPTX 0x00010000
00474
00475
00476
00477 #define CIF_DN_NA 0
00478 #define CIF_DN_PE_PRIVATE 1
00479 #define CIF_DN_SHARED_CAN 2
00480 #define CIF_DN_SHARED_DIM 3
00481 #define CIF_DN_UNKNOWN 4
00482 #define CIF_DN_UNKNOWN_SHARED 5
00483
00484
00485 #define CIF_CD_MASTER 0
00486 #define CIF_CD_END_MASTER 1
00487 #define CIF_CD_BARRIER 2
00488 #define CIF_CD_NO_BARRIER 3
00489 #define CIF_CD_CRITICAL 4
00490 #define CIF_CD_END_CRITICAL 5
00491 #define CIF_CD_SHARED_IO 6
00492 #define CIF_CD_ATOMIC_UPDATE 7
00493 #define CIF_CD_LIST 8
00494 #define CIF_CD_NOLIST 9
00495 #define CIF_CD_EJECT 10
00496
00497
00498 #define CIF_DO_ALIGNED 0
00499 #define CIF_DO_UNIFORM 1
00500 #define CIF_DO_CHUNKSIZE 2
00501 #define CIF_DO_NUMCHUNKS 3
00502 #define CIF_DO_GUIDED 4
00503
00504 #endif
00505
00506
00507
00508 #define CIF_ENC_OBJECT 0
00509 #define CIF_ENC_FORMARG 2
00510 #define CIF_ENC_TYPEDEF 3
00511 #define CIF_ENC_ENUMMEM 4
00512
00513 #if CIF_VERSION == 1
00514
00515 #define CIF_ENC_TAG 10
00516 #define CIF_ENC_MEMBER 11
00517 #define CIF_ENC_STRLIT 12
00518 #define CIF_ENC_MAX 13
00519
00520 #else
00521
00522 #define CIF_ENC_TAG 9
00523 #define CIF_ENC_MEMBER 10
00524 #define CIF_ENC_STRLIT 11
00525 #define CIF_ENC_MAX 12
00526
00527 #endif
00528
00529
00530 #define CIF_ET_ALT_ENTRY 1
00531 #define CIF_ET_BLOCKDATA 2
00532 #define CIF_ET_FUNCTION 3
00533 #define CIF_ET_PROGRAM 4
00534 #define CIF_ET_SUBROUTINE 5
00535 #define CIF_ET_UNKNOWN 6
00536 #define CIF_ET_MAX 7
00537
00538 #if CIF_VERSION != 1
00539
00540 #define CIF_F90_ET_ERROR 0
00541 #define CIF_F90_ET_ALT_ENTRY 1
00542 #define CIF_F90_ET_BLOCKDATA 2
00543 #define CIF_F90_ET_FUNCTION 3
00544 #define CIF_F90_ET_PROGRAM 4
00545 #define CIF_F90_ET_SUBROUTINE 5
00546 #define CIF_F90_ET_UNKNOWN 6
00547 #define CIF_F90_ET_MODULE 7
00548 #define CIF_F90_ET_STMT 8
00549 #define CIF_F90_ET_MAX 9
00550
00551
00552
00553 #define CIF_F90_PT_UNKNOWN 0
00554 #define CIF_F90_PT_EXTERNAL 1
00555 #define CIF_F90_PT_INTRINSIC 2
00556 #define CIF_F90_PT_DUMMY 3
00557 #define CIF_F90_PT_INTERNAL 4
00558 #define CIF_F90_PT_IMPORTED 5
00559 #define CIF_F90_PT_MODULE 6
00560 #define CIF_F90_PT_MAX 7
00561
00562
00563
00564 #define CIF_AT_EXPLICIT 1
00565 #define CIF_AT_ASSUMED_SIZE 2
00566 #define CIF_AT_DEFERRED 3
00567 #define CIF_AT_ASSUMED 4
00568
00569 #endif
00570
00571
00572
00573 #define CIF_FORM_RANDOM 0
00574 #define CIF_FORM_SORTED 1
00575
00576
00577 #define CIF_FORM_CIFCONV 0
00578 #define CIF_FORM_LINES 1
00579 #define CIF_FORM_USER 2
00580
00581
00582
00583 #define CIF_ID_NONCONTIG 0
00584 #define CIF_ID_CONTIGUOUS 1
00585
00586
00587 #define CIF_LB_FORMAT 1
00588 #define CIF_LB_STMT 2
00589 #define CIF_LB_UNKNOWN 3
00590 #define CIF_LB_CONSTRUCT 4
00591 #define CIF_LB_MAX 5
00592
00593
00594 #define CIF_LG_F77 0
00595 #define CIF_LG_F90 1
00596 #define CIF_LG_C 2
00597
00598 #if CIF_VERSION < 3
00599 #define CIF_LG_MAX 3
00600
00601 #else
00602
00603 #define CIF_LG_CC 3
00604 #define CIF_LG_MAX 4
00605 #endif
00606
00607
00608 #define CIF_LP_DO 0
00609 #define CIF_LP_DOWHILE 1
00610 #define CIF_LP_WHILE 2
00611 #define CIF_LP_FOR 3
00612 #define CIF_LP_DO_INFINITE 4
00613 #define CIF_LP_MAX 5
00614
00615
00616 #define CIF_MEM_DEFAULT 0
00617 #define CIF_MEM_INDIV 1
00618 #define CIF_MEM_FIXED 2
00619 #define CIF_MEM_MANAGED 3
00620 #define CIF_MEM_MAX 4
00621
00622 #define CIF_MEM_KEEP 0
00623 #define CIF_MEM_FREE 1
00624
00625
00626
00627 #define CIF_F90_FORM_FIXED 0
00628 #define CIF_F90_FORM_FREE 1
00629
00630
00631 #define CIF_MC_VPOP 0x0001
00632 #define CIF_MC_EMA 0x0002
00633 #define CIF_MC_CIGS 0x0004
00634 #define CIF_MC_PCF 0x0008
00635 #define CIF_MC_READVL 0x0010
00636 #define CIF_MC_VRECUR 0x0020
00637 #define CIF_MC_NOVRECUR 0x0040
00638 #define CIF_MC_AVL 0x0080
00639 #define CIF_MC_HPF 0x0100
00640 #define CIF_MC_BDM 0x0200
00641 #define CIF_MC_SREG 0x0400
00642 #define CIF_MC_CLUSTER 0x0800
00643 #define CIF_MC_COR 0x1000
00644 #define CIF_MC_ADDR32 0x2000
00645 #define CIF_MC_BMM 0x4000
00646 #define CIF_MC_XEA 0x8000
00647
00648 #define CIF_MC_AVPOP 0x10000
00649 #define CIF_MC_FULLSECT 0x20000
00650 #define CIF_MC_IEEE 0x40000
00651 #define CIF_MC_CMRREQ 0x80000
00652 #define CIF_MC_CACHE 0x100000
00653
00654 #if CIF_VERSION == 1
00655
00656 #define CIF_MC_TAILGT 0x0001
00657 #define CIF_MC_SHAREDREG 0x0002
00658 #define CIF_MC_MEMQUIET 0x0004
00659
00660 #else
00661
00662 #define CIF_MC_TAILGT_1 0x0001
00663
00664 #define CIF_MC_FAR 0x0001
00665 #define CIF_MC_TAILGT 0x0002
00666 #define CIF_MC_CMR 0x0004
00667
00668
00669
00670 #define CIF_MC_MASK (~(CIF_MC_PCF & \
00671 CIF_MC_NOVRECUR & \
00672 CIF_MC_HPF & \
00673 CIF_MC_SREG & \
00674 CIF_MC_CLUSTER & \
00675 CIF_MC_COR & \
00676 CIF_MC_ADDR32 & \
00677 CIF_MC_BMM))
00678
00679 #endif
00680
00681
00682 #define CIF_MISCF_STACK 0
00683 #define CIF_MISCF_STATIC 1
00684 #define CIF_MISCF_HEAP 2
00685
00686 #define CIF_MISCF_INT64 0
00687 #define CIF_MISCF_INT46 1
00688
00689 #define CIF_MISCF_UNKNOWN 0
00690 #define CIF_MISCF_FAST 1
00691 #define CIF_MISCF_FULL 2
00692 #define CIF_MISCF_SREG 3
00693
00694
00695 #define CIF_MS_COMMENT 0
00696 #define CIF_MS_NOTE 1
00697 #define CIF_MS_CAUTION 2
00698 #define CIF_MS_WARNING 3
00699 #define CIF_MS_ERROR 4
00700 #define CIF_MS_INTERNAL 5
00701 #define CIF_MS_VECTOR 6
00702 #define CIF_MS_SCALAR 7
00703 #define CIF_MS_TABLE 8
00704 #define CIF_MS_ANSI 9
00705 #define CIF_MS_LOGFILE 10
00706 #define CIF_MS_INLINE 11
00707 #define CIF_MS_INFO 12
00708 #define CIF_MS_TASKING 13
00709 #define CIF_MS_LIMIT 14
00710 #define CIF_MS_LOGERROR 15
00711 #define CIF_MS_LOGSUM 16
00712 #define CIF_MS_F77_ANSI 17
00713 #define CIF_MS_OPTIMIZATION 18
00714 #define CIF_MS_UNKNOWN 19
00715 #define CIF_MS_MAX 20
00716
00717 #if CIF_VERSION != 1
00718
00719 #define CIF_MS_CODE_NORMAL 0
00720 #define CIF_MS_CODE_ARGSUSED 1
00721 #define CIF_MS_CODE_EMPTY 2
00722 #define CIF_MS_CODE_FALLTHROUGH 3
00723 #define CIF_MS_CODE_NOTREACHED 4
00724 #endif
00725
00726
00727
00728 #define CIF_F_MS_COMMENT 0
00729 #define CIF_F_MS_NOTE 1
00730 #define CIF_F_MS_CAUTION 2
00731 #define CIF_F_MS_WARNING 3
00732 #define CIF_F_MS_ERROR 4
00733 #define CIF_F_MS_INTERNAL 5
00734 #define CIF_F_MS_VECTOR 6
00735 #define CIF_F_MS_SCALAR 7
00736 #define CIF_F_MS_OPT_INFO 7
00737 #define CIF_F_MS_TABLE 8
00738 #define CIF_F_MS_ANSI 9
00739 #define CIF_F_MS_LOGFILE 10
00740 #define CIF_F_MS_INLINE 11
00741 #define CIF_F_MS_INFO 12
00742 #define CIF_F_MS_TASKING 13
00743 #define CIF_F_MS_LIMIT 14
00744 #define CIF_F_MS_LOGERROR 15
00745 #define CIF_F_MS_LOGSUM 16
00746 #define CIF_F_MS_F77_ANSI 17
00747 #define CIF_F_MS_OPTIMIZATION 18
00748 #define CIF_F_MS_UNKNOWN 19
00749 #define CIF_F_MS_MAX 20
00750
00751
00752 #define CIF_OBC_DEFINED 0x001
00753 #define CIF_OBC_DECLARED 0x002
00754 #define CIF_OBC_REFERENCED 0x004
00755 #define CIF_OBC_MODIFIED 0x008
00756 #define CIF_OBC_ADDRESS 0x010
00757 #define CIF_OBC_ARGLIST 0x020
00758 #define CIF_OBC_USEDDECL 0x040
00759 #define CIF_OBC_USEDCAST 0x080
00760 #define CIF_OBC_USEDFUNC 0x100
00761 #define CIF_OBC_MACROEXP 0x200
00762 #define CIF_OBC_MAX 9
00763
00764
00765 #define CIF_OB_DEFINED 0
00766 #define CIF_OB_USED 1
00767 #define CIF_OB_MODIFIED 2
00768 #define CIF_OB_ARGLIST 3
00769 #define CIF_OB_ASSIGN 4
00770 #define CIF_OB_BRANCH 5
00771 #define CIF_OB_FORMAT 6
00772 #define CIF_OB_DO 7
00773 #define CIF_OB_TYPEDEF 8
00774 #define CIF_OB_TYPEUSED 9
00775 #define CIF_OB_MAX 10
00776
00777 #if CIF_VERSION != 1
00778
00779
00780 #define CIF_F90_OB_DEFINED 0
00781 #define CIF_F90_OB_USED 1
00782 #define CIF_F90_OB_MODIFIED 2
00783 #define CIF_F90_OB_ARGLIST 3
00784 #define CIF_F90_OB_ASSIGN 4
00785 #define CIF_F90_OB_BRANCH 5
00786 #define CIF_F90_OB_FORMAT 6
00787 #define CIF_F90_OB_DO 7
00788 #define CIF_F90_OB_TYPEDEF 8
00789 #define CIF_F90_OB_TYPEUSED 9
00790 #define CIF_F90_OB_NAME 10
00791 #define CIF_F90_OB_DUMMY 11
00792 #define CIF_F90_OB_OPER_ARG 12
00793
00794 #define CIF_F90_OB_IND_MOD 13
00795
00796 #define CIF_F90_OB_MODIFIED_ASN 14
00797
00798
00799 #define CIF_F90_OB_MAX 15
00800
00801
00802
00803 #define CIF_RT_C 0x0001
00804 #define CIF_RT_E 0x0002
00805 #define CIF_RT_a 0x0004
00806 #define CIF_RT_b 0x0008
00807 #define CIF_RT_c 0x0010
00808
00809
00810 #define CIF_CO_A 0x0001
00811 #define CIF_CO_C 0x0002
00812 #define CIF_CO_F 0x0004
00813 #define CIF_CO_I 0x0008
00814 #define CIF_CO_M 0x0010
00815 #define CIF_CO_O 0x0020
00816 #define CIF_CO_S 0x0040
00817 #define CIF_CO_X 0x0080
00818
00819 #endif
00820
00821
00822 #define CIF_OOF_AGGRESS 0x00000001
00823 #define CIF_OOF_BLOAD 0x00000002
00824 #define CIF_OOF_INLINE 0x00000004
00825 #define CIF_OOF_LOOPALIGN 0x00000008
00826 #define CIF_OOF_RECURRENCE 0x00000010
00827 #define CIF_OOF_RECURSIVE 0x00000020
00828 #define CIF_OOF_SCALAR 0x00000040
00829 #define CIF_OOF_VECTOR 0x00000080
00830 #define CIF_OOF_VSEARCH 0x00000100
00831 #define CIF_OOF_ZEROINC 0x00000200
00832 #define CIF_OOF_KERNSCHED 0x00000400
00833 #if CIF_VERSION != 1
00834 #define CIF_OOF_TASK 0x00000800
00835 #define CIF_OOF_GENERAL 0x00001000
00836 #define CIF_OOF_OVERINDEX 0x00002000
00837 #define CIF_OOF_PATTERN 0x00004000
00838 #endif
00839
00840
00841
00842 #define CIF_SC_COMMON 1
00843 #define CIF_SC_EXPR 2
00844 #define CIF_SC_UNKNOWN 3
00845 #define CIF_SC_VARIABLE 4
00846 #define CIF_SC_FIELD 5
00847 #define CIF_SC_EQUIV 6
00848 #define CIF_SC_MAX 7
00849
00850 #if CIF_VERSION != 1
00851
00852
00853
00854
00855
00856
00857
00858
00859 #define CIF_F90_SC_ERROR 0
00860 #define CIF_F90_SC_COMMON 1
00861 #define CIF_F90_SC_EXPR 2
00862 #define CIF_F90_SC_UNKNOWN 3
00863 #define CIF_F90_SC_VARIABLE 4
00864 #define CIF_F90_SC_STRUCT 5
00865 #define CIF_F90_SC_EQUIV 6
00866 #define CIF_F90_SC_MODULE 7
00867 #define CIF_F90_SC_NAMED_CONST 8
00868 #define CIF_F90_SC_FUNC_RESULT 9
00869 #define CIF_F90_SC_MX 10
00870
00871 #endif
00872
00873
00874 #define CIF_SCC_EXTERN 0
00875 #define CIF_SCC_STATIC 1
00876 #define CIF_SCC_AUTO 2
00877 #define CIF_SCC_REGISTER 3
00878 #define CIF_SCC_FORTRAN 4
00879 #define CIF_SCC_STRMEM 6
00880 #define CIF_SCC_UNMEM 7
00881 #define CIF_SCC_ENUMMEM 8
00882 #define CIF_SCC_STRBITFLD 12
00883 #define CIF_SCC_UNBITFLD 13
00884 #define CIF_SCC_USRLAB 14
00885 #define CIF_SCC_GLBREG 16
00886 #define CIF_SCC_GLTREG 17
00887 #define CIF_SCC_EXTLM 18
00888 #define CIF_SCC_MAX 19
00889
00890
00891
00892 #define CIF_ST_AUXILIARY 1
00893 #define CIF_ST_BASED 2
00894 #define CIF_ST_DUMARG 3
00895 #define CIF_ST_POINTEE 4
00896 #define CIF_ST_STACK 5
00897 #define CIF_ST_STATIC 6
00898 #define CIF_ST_UNKNOWN 7
00899 #if CIF_VERSION == 1
00900 #define CIF_ST_MAX 8
00901 #else
00902 #define CIF_ST_BSS 6
00903 #define CIF_ST_DATA 8
00904 #define CIF_ST_MAX 9
00905 #endif
00906
00907 #if CIF_VERSION != 1
00908
00909
00910 #define CIF_F90_ST_ERROR 0
00911 #define CIF_F90_ST_AUXILIARY 1
00912 #define CIF_F90_ST_BASED 2
00913 #define CIF_F90_ST_DUMMY 3
00914 #define CIF_F90_ST_POINTEE 4
00915 #define CIF_F90_ST_STACK 5
00916 #define CIF_F90_ST_STATIC 6
00917 #define CIF_F90_ST_BSS 6
00918 #define CIF_F90_ST_NO_STORAGE 7
00919 #define CIF_F90_ST_DATA 8
00920 #define CIF_F90_ST_COMMON 9
00921 #define CIF_F90_ST_MAX 10
00922
00923
00924 #define CIF_CC_ST_ERROR 0
00925 #define CIF_CC_ST_STATIC 1
00926 #define CIF_CC_ST_AUTO 2
00927 #define CIF_CC_ST_REGISTER 3
00928 #define CIF_CC_ST_GLB_B_REG 4
00929 #define CIF_CC_ST_GLB_T_REG 5
00930 #define CIF_CC_ST_TSK_COMMON 6
00931 #define CIF_CC_ST_SOFT 7
00932 #define CIF_CC_ST_TSK_PRIVATE 8
00933
00934
00935 #define CIF_CC_SC_ERROR 0
00936 #define CIF_CC_SC_VARIABLE 1
00937 #define CIF_CC_SC_FORMAL_PARAM 2
00938 #define CIF_CC_SC_MEMBER_VAR 3
00939
00940
00941
00942 #endif
00943
00944
00945 #define CIF_TMC_UNUSED 0x0
00946 #define CIF_TMC_ARRAY 0x1
00947 #define CIF_TMC_FUNCNOPR 0x2
00948 #define CIF_TMC_FUNCPRO 0x3
00949 #define CIF_TMC_PTR 0x8
00950 #define CIF_TMC_CONPTR 0x9
00951 #define CIF_TMC_VOLPTR 0xa
00952 #define CIF_TMC_CNVLPTR 0xb
00953 #define CIF_TMC_RESPTR 0xc
00954 #define CIF_TMC_RSCNPTR 0xd
00955 #define CIF_TMC_RSVLPTR 0xe
00956 #define CIF_TMC_RSCNVLPTR 0xf
00957 #define CIF_TMC_MAX 16
00958
00959
00960 #if CIF_VERSION != 1
00961
00962 #define CIF_TMC_UNDIMENSIONED 0
00963 #endif
00964
00965
00966
00967 #define CIF_TP_ALLOCATABLE 0
00968 #define CIF_TP_ALLOCATE 1
00969 #define CIF_TP_ASSIGN 2
00970 #define CIF_TP_ASSIGNMENT 3
00971 #define CIF_TP_BACKSPACE 4
00972 #define CIF_TP_BDATA 5
00973 #define CIF_TP_BUFFER 6
00974 #define CIF_TP_CALL 7
00975 #define CIF_TP_CASE 8
00976 #define CIF_TP_CLOSE 9
00977 #define CIF_TP_COMMON 10
00978 #define CIF_TP_CONTAINS 11
00979 #define CIF_TP_CONTINUE 12
00980 #define CIF_TP_CYCLE 13
00981 #define CIF_TP_DATA 14
00982 #define CIF_TP_DEALLOCATE 15
00983 #define CIF_TP_DECODE 16
00984 #define CIF_TP_DEFAULT 17
00985 #define CIF_TP_DERIVED_TYPE 18
00986 #define CIF_TP_DIMENSION 19
00987 #define CIF_TP_DIRECTIVE 20
00988 #define CIF_TP_LABELED_DO 21
00989 #define CIF_TP_UNLABELED_DO 22
00990 #define CIF_TP_ELSE 23
00991 #define CIF_TP_ELSEIF 24
00992 #define CIF_TP_ELSEWHERE 25
00993 #define CIF_TP_ENCODE 26
00994 #define CIF_TP_END 27
00995 #define CIF_TP_ENDFILE 28
00996 #define CIF_TP_ENTRY 29
00997 #define CIF_TP_EQUIVALENCE 30
00998 #define CIF_TP_EXIT 31
00999 #define CIF_TP_EXTERNAL 32
01000 #define CIF_TP_FORMAT 33
01001 #define CIF_TP_FUNCTION 34
01002 #define CIF_TP_GOTO 35
01003 #define CIF_TP_IF 36
01004 #define CIF_TP_IFTHEN 37
01005 #define CIF_TP_IMPLICIT 38
01006 #define CIF_TP_IMPNONE 39
01007 #define CIF_TP_INQUIRE 40
01008 #define CIF_TP_INTENT 41
01009 #define CIF_TP_INTERFACE 42
01010 #define CIF_TP_INTRINSIC 43
01011 #define CIF_TP_MODULE 44
01012 #define CIF_TP_MODULE_PROC 45
01013 #define CIF_TP_NAMELIST 46
01014 #define CIF_TP_NULLIFY 47
01015 #define CIF_TP_OPEN 48
01016 #define CIF_TP_OPTIONAL 49
01017 #define CIF_TP_PARAMETER 50
01018 #define CIF_TP_PAUSE 51
01019 #define CIF_TP_POINTER 52
01020 #define CIF_TP_PRINT 53
01021 #define CIF_TP_PRIVATE 54
01022 #define CIF_TP_PROGRAM 55
01023 #define CIF_TP_PUBLIC 56
01024 #define CIF_TP_PUNCH 57
01025 #define CIF_TP_READ 58
01026 #define CIF_TP_RETURN 59
01027 #define CIF_TP_REWIND 60
01028 #define CIF_TP_SAVE 61
01029 #define CIF_TP_SELECT 62
01030 #define CIF_TP_SEQUENCE 63
01031 #define CIF_TP_STMTFUNC 64
01032 #define CIF_TP_STOP 65
01033 #define CIF_TP_SUBROUTINE 66
01034 #define CIF_TP_TARGET 67
01035 #define CIF_TP_TYPE_DECL 68
01036 #define CIF_TP_USE 69
01037 #define CIF_TP_WHERE 70
01038 #define CIF_TP_WHERE_CONST 71
01039 #define CIF_TP_WRITE 72
01040 #define CIF_TP_BUFFER_IN 73
01041 #define CIF_TP_BUFFER_OUT 74
01042 #define CIF_TP_DOWHILE 75
01043 #define CIF_TP_DO 76
01044 #define CIF_TP_ENDDO 77
01045 #define CIF_TP_ENDIF 78
01046 #define CIF_TP_INCLUDE 79
01047 #if CIF_VERSION == 1
01048 #define CIF_TP_MAX 80
01049 #else
01050 #define CIF_TP_CDIR 80
01051 #define CIF_TP_MAX 81
01052 #endif
01053
01054 #if CIF_VERSION != 1
01055
01056
01057 #define CIF_CTP_EXPRESSION 0
01058 #define CIF_CTP_COMPOUND 1
01059 #define CIF_CTP_IF 2
01060 #define CIF_CTP_ELSE 3
01061 #define CIF_CTP_WHILE 4
01062 #define CIF_CTP_DO 5
01063 #define CIF_CTP_FOR 6
01064 #define CIF_CTP_SWITCH 7
01065 #define CIF_CTP_BREAK 8
01066 #define CIF_CTP_GOTO 9
01067 #define CIF_CTP_RETURN 10
01068 #define CIF_CTP_CONTINUE 11
01069 #define CIF_CTP_NULL 12
01070 #define CIF_CTP_PRAGMA 13
01071 #define CIF_CTP_ASSIGNMENT 14
01072 #define CIF_CTP_END_COMPOUND 15
01073 #define CIF_CTP_EXPR_END 16
01074 #define CIF_CTP_DO_WHILE_END 17
01075 #define CIF_CTP_RETURN_WITH_EXPR 18
01076 #define CIF_CTP_CASE 19
01077 #define CIF_CTP_LABEL 20
01078 #define CIF_CTP_TRY 21
01079 #define CIF_CTP_ASM 22
01080 #define CIF_CTP_MAX 23
01081
01082
01083
01084
01085
01086
01087
01088
01089
01090
01091 #define CIF_F90_TP_ALLOCATABLE 0
01092 #define CIF_F90_TP_ALLOCATE 1
01093 #define CIF_F90_TP_ASSIGN 2
01094 #define CIF_F90_TP_ASSIGNMENT 3
01095 #define CIF_F90_TP_BACKSPACE 4
01096 #define CIF_F90_TP_BDATA 5
01097
01098 #define CIF_F90_TP_CALL 7
01099 #define CIF_F90_TP_CASE 8
01100 #define CIF_F90_TP_CLOSE 9
01101 #define CIF_F90_TP_COMMON 10
01102 #define CIF_F90_TP_CONTAINS 11
01103 #define CIF_F90_TP_CONTINUE 12
01104 #define CIF_F90_TP_CYCLE 13
01105 #define CIF_F90_TP_DATA 14
01106 #define CIF_F90_TP_DEALLOCATE 15
01107 #define CIF_F90_TP_DECODE 16
01108 #define CIF_F90_TP_CASE_DEFAULT 17
01109 #define CIF_F90_TP_TYPE 18
01110 #define CIF_F90_TP_DIMENSION 19
01111 #define CIF_F90_TP_DIRECTIVE 20
01112
01113 #define CIF_F90_TP_ELSE 23
01114 #define CIF_F90_TP_ELSEIF 24
01115 #define CIF_F90_TP_ELSEWHERE 25
01116 #define CIF_F90_TP_ENCODE 26
01117
01118 #define CIF_F90_TP_ENDFILE 28
01119 #define CIF_F90_TP_ENTRY 29
01120 #define CIF_F90_TP_EQUIVALENCE 30
01121 #define CIF_F90_TP_EXIT 31
01122 #define CIF_F90_TP_EXTERNAL 32
01123 #define CIF_F90_TP_FORMAT 33
01124 #define CIF_F90_TP_FUNCTION 34
01125
01126 #define CIF_F90_TP_IF 37
01127 #define CIF_F90_TP_IMPLICIT 38
01128 #define CIF_F90_TP_IMPLICIT_NONE 39
01129 #define CIF_F90_TP_INQUIRE 40
01130
01131 #define CIF_F90_TP_INTRINSIC 43
01132 #define CIF_F90_TP_MODULE 44
01133 #define CIF_F90_TP_MODULE_PROC 45
01134 #define CIF_F90_TP_NAMELIST 46
01135 #define CIF_F90_TP_NULLIFY 47
01136 #define CIF_F90_TP_OPEN 48
01137 #define CIF_F90_TP_OPTIONAL 49
01138 #define CIF_F90_TP_PARAMETER 50
01139 #define CIF_F90_TP_PAUSE 51
01140 #define CIF_F90_TP_POINTER 52
01141 #define CIF_F90_TP_PRINT 53
01142 #define CIF_F90_TP_PRIVATE 54
01143 #define CIF_F90_TP_PROGRAM 55
01144 #define CIF_F90_TP_PUBLIC 56
01145
01146 #define CIF_F90_TP_READ 58
01147 #define CIF_F90_TP_RETURN 59
01148 #define CIF_F90_TP_REWIND 60
01149 #define CIF_F90_TP_SAVE 61
01150 #define CIF_F90_TP_SELECT_CASE 62
01151 #define CIF_F90_TP_SEQUENCE 63
01152 #define CIF_F90_TP_STMTFUNC 64
01153 #define CIF_F90_TP_STOP 65
01154 #define CIF_F90_TP_SUBROUTINE 66
01155 #define CIF_F90_TP_TARGET 67
01156 #define CIF_F90_TP_TYPE_DECL 68
01157 #define CIF_F90_TP_USE 69
01158 #define CIF_F90_TP_WHERE 70
01159 #define CIF_F90_TP_WHERE_CONST 71
01160 #define CIF_F90_TP_WRITE 72
01161 #define CIF_F90_TP_BUFFER_IN 73
01162 #define CIF_F90_TP_BUFFER_OUT 74
01163
01164 #define CIF_F90_TP_END_DO 77
01165 #define CIF_F90_TP_END_IF 78
01166 #define CIF_F90_TP_INCLUDE 79
01167 #define CIF_F90_TP_CDIR 80
01168
01169 #define CIF_F90_TP_ARRAY_ASSIGNMENT 81
01170 #define CIF_F90_TP_POINTER_ASGN 82
01171
01172 #define CIF_F90_TP_LABELED_DO_INFINITE 100
01173 #define CIF_F90_TP_UNLABELED_DO_INFINITE 101
01174 #define CIF_F90_TP_LABELED_DO_ITERATIVE 102
01175 #define CIF_F90_TP_UNLABELED_DO_ITERATIVE 103
01176 #define CIF_F90_TP_LABELED_DO_WHILE 104
01177 #define CIF_F90_TP_UNLABELED_DO_WHILE 105
01178 #define CIF_F90_TP_END_BDATA 106
01179 #define CIF_F90_TP_END_FUNCTION 107
01180 #define CIF_F90_TP_END_INTERFACE 108
01181 #define CIF_F90_TP_END_MODULE 109
01182 #define CIF_F90_TP_END_PROGRAM 110
01183 #define CIF_F90_TP_END_SELECT 111
01184 #define CIF_F90_TP_END_SUBROUTINE 112
01185 #define CIF_F90_TP_END_TYPE 113
01186 #define CIF_F90_TP_END_WHERE 114
01187 #define CIF_F90_TP_GOTO 115
01188 #define CIF_F90_TP_GOTO_ASSIGNED 116
01189 #define CIF_F90_TP_GOTO_COMPUTED 117
01190 #define CIF_F90_TP_IF_LOGICAL 118
01191 #define CIF_F90_TP_IF_ARITHMETIC 119
01192 #define CIF_F90_TP_IF_IND_LOG 120
01193 #define CIF_F90_TP_IF_TWO_BRANCH_ARITHMETIC 121
01194 #define CIF_F90_TP_INTENT_IN 122
01195 #define CIF_F90_TP_INTENT_OUT 123
01196 #define CIF_F90_TP_INTENT_INOUT 124
01197 #define CIF_F90_TP_INTERFACE 125
01198 #define CIF_F90_TP_INTERFACE_GENERIC 126
01199 #define CIF_F90_TP_INTERFACE_OPERATOR 127
01200 #define CIF_F90_TP_INTERFACE_ASSIGNMENT 128
01201 #define CIF_F90_TP_TASK_COMMON 129
01202 #define CIF_F90_TP_AUTOMATIC 130
01203 #define CIF_F90_TP_ELEMENTAL 131
01204 #define CIF_F90_TP_PURE 132
01205 #define CIF_F90_TP_FORALL 133
01206 #define CIF_F90_TP_FORALL_CONSTRUCT 134
01207 #define CIF_F90_TP_MAX 135
01208
01209
01210
01211
01212
01213
01214 #define CIF_SCP_MAIN 0
01215 #define CIF_SCP_EXTERNAL 1
01216 #define CIF_SCP_BLOCK 2
01217 #define CIF_SCP_MOD_SUB 3
01218 #define CIF_SCP_MODULE 4
01219 #define CIF_SCP_INTERNAL 5
01220 #define CIF_SCP_INTERFACE 6
01221 #define CIF_SCP_INT_BLOCK 7
01222
01223
01224
01225 #define CIF_IB_SPECIFIC 1
01226 #define CIF_IB_GENERIC 2
01227 #define CIF_IB_OPERATOR 3
01228 #define CIF_IB_ASSIGNMENT 4
01229
01230
01231
01232 #define CIF_DRT_SEQUENCE 0x1
01233 #define CIF_DRT_PRIVATE 0x2
01234 #define CIF_DRT_COMP_PRIVATE 0x4
01235
01236
01237
01238 #define CIF_BE_TIMING 0
01239 #define CIF_BE_LOOP 1
01240 #define CIF_BE_BTE 2
01241 #define CIF_BE_OTHER 3
01242
01243
01244 #define CIF_TT_WORK 0
01245 #define CIF_TT_CALL 1
01246 #define CIF_TT_MEM 2
01247 #define CIF_TT_PFQ 3
01248 #define CIF_TT_BTE 4
01249 #define CIF_TT_BARRIER 5
01250 #define CIF_TT_CRIT 6
01251 #define CIF_TT_ATOMIC 7
01252 #define CIF_TT_LOOPS 8
01253 #define CIF_TT_LOOPD 9
01254 #define CIF_TT_LOOPT 10
01255 #define CIF_TT_ENTRY 11
01256
01257
01258 #define CIF_BE_BRANCH 1
01259 #define CIF_BE_COND_BR 2
01260 #define CIF_BE_PAL 3
01261 #define CIF_BE_RET 4
01262 #define CIF_BE_S2PC 5
01263
01264
01265
01266 #define CIF_IT_FADD 0
01267 #define CIF_IT_FMUL 1
01268 #define CIF_IT_FDIV_S 2
01269 #define CIF_IT_FDIV_T 3
01270 #define CIF_IT_IADD 4
01271 #define CIF_IT_IMUL 5
01272 #define CIF_IT_IDIV 6
01273 #define CIF_IT_LOAD 7
01274 #define CIF_IT_STORE 8
01275 #define CIF_IT_LOAD_LS 9
01276 #define CIF_IT_STORE_LS 10
01277 #define CIF_IT_LOAD_R 11
01278 #define CIF_IT_STORE_R 12
01279 #define CIF_IT_OTHER 13
01280 #define CIF_IT_MAX 14
01281
01282
01283 #define CIF_SRC_KIND_MAIN 1
01284 #define CIF_SRC_KIND_INCLUDE 2
01285 #define CIF_SRC_KIND_MACRO 3
01286 #define CIF_SRC_KIND_INLINE 4
01287 #define CIF_SRC_KIND_TAIL 5
01288
01289
01290 #endif
01291
01292
01293 #define CIF_TQC_CONST 0x1
01294 #define CIF_TQC_VOL 0x2
01295 #define CIF_TQC_RESTR 0x4
01296 #define CIF_TQC_MAX 5
01297
01298
01299
01300
01301
01302
01303
01304
01305 #define CIF_ER_100 -1
01306 #define CIF_ER_INTERNAL -2
01307 #define CIF_ER_OTHER -3
01308
01309
01310
01311
01312
01313
01314
01315
01316
01317
01318
01319
01320
01321 struct Cif_generic {
01322 FIELD rectype:8;
01323 };
01324
01325
01326 struct Cif_tmod {
01327 FIELD val:32;
01328 FIELD mod:8;
01329 };
01330 #define TMOD_SSIZE 5
01331
01332
01333 struct Cif_c_const {
01334 FIELD rectype:8;
01335 FIELD symid:24;
01336 FIELD vlen:24;
01337 FIELD btype:8;
01338 char *value;
01339 };
01340 #define CCONST_SSIZE 8
01341
01342
01343
01344 #if CIF_VERSION == 1
01345
01346 struct Cif_c_entry {
01347 FIELD rectype:8;
01348 FIELD ptype:2;
01349 FIELD symclass:2;
01350 FIELD retvalue:2;
01351
01352 FIELD varargs:2;
01353
01354
01355
01356 FIELD scope:8;
01357 FIELD nlen:8;
01358 FIELD symid:24;
01359 FIELD nargs:8;
01360 FIELD nmods:4;
01361 FIELD qual:4;
01362 FIELD btype:8;
01363 struct Cif_tmod *mods;
01364 long *argids;
01365 char *name;
01366 };
01367
01368 #define CENTRY_SSIZE 10
01369
01370 #else
01371
01372 struct Cif_c_entry {
01373 FIELD rectype:8;
01374 FIELD ptype:2;
01375 FIELD symclass:6;
01376 FIELD retvalue:4;
01377
01378 FIELD varargs:4;
01379 FIELD scope:8;
01380 FIELD nlen:8;
01381 FIELD symid:24;
01382 FIELD nargs:8;
01383 FIELD tagid:24;
01384
01385 FIELD nmods:4;
01386 FIELD qual:4;
01387 FIELD btype:8;
01388 FIELD un:16;
01389 FIELD link:24;
01390 struct Cif_tmod *mods;
01391 long *argids;
01392 char *name;
01393 };
01394
01395 #define CENTRY_SSIZE_2 15
01396
01397
01398
01399 #define CENTRY_SSIZE 19
01400
01401
01402
01403 struct Cif_c_entry_1 {
01404 FIELD rectype:8;
01405 FIELD ptype:2;
01406 FIELD symclass:2;
01407 FIELD retvalue:2;
01408
01409 FIELD varargs:2;
01410 FIELD scope:8;
01411 FIELD nlen:8;
01412 FIELD symid:24;
01413 FIELD nargs:8;
01414 FIELD nmods:4;
01415 FIELD qual:4;
01416 FIELD btype:8;
01417 struct Cif_tmod *mods;
01418 long *argids;
01419 char *name;
01420 };
01421
01422 #define CENTRY_SSIZE_1 10
01423
01424 #endif
01425
01426
01427
01428
01429
01430 #if CIF_VERSION != 1
01431
01432 struct Cif_c_lint_directive {
01433 FIELD rectype:8;
01434 FIELD fid:24;
01435 FIELD nlen:8;
01436 FIELD objid:24;
01437 FIELD val:16;
01438 FIELD strpos:16;
01439 FIELD strline:24;
01440 FIELD un1:8;
01441 FIELD endline:24;
01442 FIELD un2:8;
01443 FIELD endpos:16;
01444 char *name;
01445 };
01446 #define CLINT_DIRECTIVE_SSIZE 22
01447
01448
01449 struct Cif_c_entry_end {
01450 FIELD rectype:8;
01451 FIELD symid:24;
01452 FIELD strline:24;
01453 FIELD nlen:8;
01454 FIELD endline:24;
01455 FIELD un1:8;
01456 FIELD fid:16;
01457 char *name;
01458 };
01459 #define CENTRY_END_SSIZE 14
01460
01461
01462 struct Cif_c_macro_def {
01463 FIELD rectype:8;
01464 FIELD symid:24;
01465 FIELD nlen:8;
01466 FIELD strline:24;
01467 FIELD fid:16;
01468 FIELD strpos:16;
01469 FIELD endline:24;
01470 FIELD un1:8;
01471 FIELD endpos:16;
01472 char *name;
01473 };
01474 #define CMACRO_DEF_SSIZE 18
01475
01476
01477 struct Cif_c_macro_undef {
01478 FIELD rectype:8;
01479 FIELD symid:24;
01480 FIELD fid:16;
01481 FIELD cpos:16;
01482 FIELD line:24;
01483 };
01484 #define CMACRO_UNDEF_SSIZE 11
01485
01486
01487 struct Cif_c_macro_usage {
01488 FIELD rectype:8;
01489 FIELD useid:24;
01490 FIELD symid:24;
01491 FIELD un1:8;
01492 FIELD fid:16;
01493 FIELD strpos:16;
01494 FIELD strline:24;
01495 FIELD un2:8;
01496 FIELD endline:24;
01497 FIELD un3:8;
01498 FIELD endpos:16;
01499 };
01500 #define CMACRO_USAGE_SSIZE 22
01501
01502 #endif
01503
01504
01505
01506
01507 #if CIF_VERSION == 1
01508 struct Cif_c_message {
01509 FIELD rectype:8;
01510 FIELD fline:24;
01511 FIELD msgno:16;
01512 FIELD fid:16;
01513 FIELD flinesuf:8;
01514 FIELD severity:8;
01515 FIELD incid:16;
01516 FIELD iline:24;
01517 FIELD nargs:8;
01518 char **args;
01519 };
01520 #define CMESSAGE_SSIZE 16
01521
01522 #else
01523
01524 struct Cif_c_message {
01525 FIELD rectype:8;
01526 FIELD fline:24;
01527 FIELD msgno:16;
01528 FIELD fid:16;
01529 FIELD flinesuf:8;
01530 FIELD severity:8;
01531 FIELD incid:16;
01532 FIELD iline:24;
01533 FIELD nargs:8;
01534 FIELD msgcode:8;
01535 char **args;
01536 };
01537 #define CMESSAGE_SSIZE 17
01538
01539
01540
01541
01542 struct Cif_c_message_1 {
01543 FIELD rectype:8;
01544 FIELD fline:24;
01545 FIELD msgno:16;
01546 FIELD fid:16;
01547 FIELD flinesuf:8;
01548 FIELD severity:8;
01549 FIELD incid:16;
01550 FIELD iline:24;
01551 FIELD nargs:8;
01552 char **args;
01553 };
01554 #define CMESSAGE_SSIZE_1 16
01555
01556 #endif
01557
01558
01559
01560 #if CIF_VERSION == 1
01561 struct Cif_c_object {
01562 FIELD rectype:8;
01563 FIELD symid:24;
01564 FIELD psymid:24;
01565 FIELD nlen:8;
01566 FIELD tagid:24;
01567 FIELD scope:8;
01568 FIELD size:6;
01569 FIELD symclass:6;
01570 FIELD entity:4;
01571 FIELD nmods:4;
01572 FIELD qual:4;
01573 FIELD btype:8;
01574 struct Cif_tmod *mods;
01575 char *name;
01576 };
01577 #define COBJECT_SSIZE 16
01578
01579 #else
01580
01581 struct Cif_c_object {
01582 FIELD rectype:8;
01583 FIELD symid:24;
01584 FIELD psymid:24;
01585 FIELD nlen:8;
01586 FIELD tagid:24;
01587 FIELD scope:8;
01588 FIELD size:6;
01589 FIELD symclass:6;
01590 FIELD entity:4;
01591 FIELD nmods:4;
01592 FIELD qual:4;
01593 FIELD btype:8;
01594 FIELD link:24;
01595 struct Cif_tmod *mods;
01596 char *name;
01597 };
01598 #define COBJECT_SSIZE 19
01599
01600
01601
01602
01603 struct Cif_c_object_1 {
01604 FIELD rectype:8;
01605 FIELD symid:24;
01606 FIELD psymid:24;
01607 FIELD nlen:8;
01608 FIELD tagid:24;
01609 FIELD scope:8;
01610 FIELD size:6;
01611 FIELD symclass:6;
01612 FIELD entity:4;
01613 FIELD nmods:4;
01614 FIELD qual:4;
01615 FIELD btype:8;
01616 struct Cif_tmod *mods;
01617 char *name;
01618 };
01619 #define COBJECT_SSIZE_1 16
01620
01621 #endif
01622
01623
01624 struct Cif_c_opts {
01625 FIELD rectype:8;
01626 FIELD msglev:8;
01627 FIELD truncval:8;
01628 FIELD debug:8;
01629 FIELD atsklev:2;
01630 FIELD inlnlev:2;
01631 FIELD sclrlev:2;
01632 FIELD vctrlev:2;
01633 FIELD nincs:8;
01634 FIELD ndefs:8;
01635 FIELD nudefs:8;
01636 char report[8];
01637 char bopts[16];
01638 FIELD nlen:8;
01639 char *name;
01640 char **incs;
01641 char **defs;
01642 char **udefs;
01643 };
01644 #define COPTS_SSIZE 33
01645
01646
01647 struct Cif_c_tag {
01648 FIELD rectype:8;
01649 FIELD tagid:24;
01650 FIELD size:32;
01651 FIELD nmems:16;
01652 FIELD entity:4;
01653 FIELD un1:4;
01654 FIELD nlen:8;
01655 FIELD nmods:4;
01656 FIELD qual:4;
01657 FIELD btype:8;
01658 struct Cif_tmod *mods;
01659 long *memids;
01660 char *name;
01661 };
01662 #define CTAG_SSIZE 14
01663
01664
01665 struct Cif_callsite {
01666 FIELD rectype:8;
01667 FIELD line:24;
01668 FIELD cpos:16;
01669 FIELD nargs:16;
01670 FIELD entryid:24;
01671 FIELD valused:1;
01672 FIELD un1:7;
01673 FIELD fid:16;
01674 struct Cif_callsite *link;
01675 long *argids;
01676 };
01677 #define CALLSITE_SSIZE 14
01678
01679
01680 struct Cif_cifhdr {
01681 FIELD rectype:8;
01682 FIELD version:8;
01683 FIELD bintype:2;
01684 FIELD lang:6;
01685 FIELD form:1;
01686 FIELD canpos:1;
01687 FIELD posinfo:1;
01688 FIELD cont_id:1;
01689 FIELD srcfid:4;
01690 FIELD msgfid:16;
01691 char cvers[16];
01692 char date[16];
01693 char time[16];
01694 char group[7];
01695 char hostcpu[9];
01696 char machname[16];
01697 };
01698 #define CIFHDR_SSIZE sizeof(struct Cif_cifhdr)
01699
01700 #if CIF_VERSION == 1
01701
01702
01703 struct Cif_comblk {
01704 FIELD rectype:8;
01705 FIELD symid:24;
01706 FIELD length:32;
01707 FIELD cbtype:8;
01708 FIELD nlen:8;
01709 char *name;
01710 };
01711 #define COMBLK_SSIZE 10
01712
01713 #else
01714
01715 struct Cif_comblk {
01716 FIELD rectype:8;
01717 FIELD symid:24;
01718 FIELD length:32;
01719 FIELD cbtype:8;
01720 FIELD nlen:8;
01721 FIELD dist:4;
01722 FIELD un1:4;
01723 char *name;
01724 };
01725 #define COMBLK_SSIZE 11
01726
01727
01728
01729
01730 struct Cif_comblk_1 {
01731 FIELD rectype:8;
01732 FIELD symid:24;
01733 FIELD length:32;
01734 FIELD cbtype:8;
01735 FIELD nlen:8;
01736 char *name;
01737 };
01738 #define COMBLK_SSIZE_1 10
01739
01740
01741 #endif
01742
01743 #if CIF_VERSION == 1
01744
01745
01746 struct Cif_const {
01747 FIELD rectype:8;
01748 FIELD dtype:8;
01749 FIELD nvalues:8;
01750 FIELD imptype:1;
01751 FIELD un1:7;
01752 FIELD nlen:8;
01753 FIELD symid:24;
01754 FIELD vlen:24;
01755 char *value;
01756 char *name;
01757 };
01758 #define CONST_SSIZE 11
01759
01760 #else
01761
01762
01763 struct Cif_const {
01764 FIELD rectype:8;
01765 FIELD dtype:8;
01766 FIELD nvalues:8;
01767 FIELD imptype:1;
01768 FIELD origform:1;
01769 FIELD un1:6;
01770 FIELD nlen:8;
01771 FIELD symid:24;
01772 FIELD vlen:24;
01773 FIELD un2:8;
01774 FIELD olen:24;
01775 char *value;
01776 char *oform;
01777 char *name;
01778 };
01779 #define CONST_SSIZE 15
01780
01781 struct Cif_const_1 {
01782 FIELD rectype:8;
01783 FIELD dtype:8;
01784 FIELD nvalues:8;
01785 FIELD imptype:1;
01786 FIELD un1:7;
01787 FIELD nlen:8;
01788 FIELD symid:24;
01789 FIELD vlen:24;
01790 char *value;
01791 char *name;
01792 };
01793 #define CONST_SSIZE_1 11
01794
01795 #endif
01796
01797
01798 #if CIF_VERSION != 1
01799
01800 struct Cif_cdir {
01801 FIELD rectype:8;
01802 FIELD line:24;
01803 FIELD fid:16;
01804 FIELD cpos:16;
01805 FIELD type:8;
01806 FIELD nids:16;
01807 long *ids;
01808 };
01809 #define CDIR_SSIZE 11
01810
01811
01812
01813 struct Cif_cdir_doshared {
01814 FIELD rectype:8;
01815 FIELD line:24;
01816 FIELD type:8;
01817 FIELD random:1;
01818 FIELD mexpr:1;
01819 FIELD un1:6;
01820 FIELD fid:16;
01821 FIELD cpos:16;
01822 FIELD mfid:16;
01823 FIELD mcpos:16;
01824 FIELD nids:16;
01825 FIELD mline:24;
01826 FIELD un2:8;
01827 FIELD m:32;
01828 long *ids;
01829 };
01830 #define CDIR_DOSHARED_SSIZE 24
01831
01832
01833
01834 struct Cif_geometry_dim {
01835 FIELD dist:8;
01836 FIELD wline:24;
01837 FIELD weight:16;
01838 FIELD wfid:16;
01839 FIELD wcpos:16;
01840 FIELD bfid:16;
01841 FIELD bsize:24;
01842 FIELD btype:1;
01843 FIELD wtype:1;
01844 FIELD un1:6;
01845 FIELD bline:24;
01846 FIELD un2:8;
01847 FIELD bcpos:16;
01848 };
01849 #define GEOM_SSIZE 22
01850
01851 struct Cif_geometry {
01852 FIELD rectype:8;
01853 FIELD geomid:24;
01854 FIELD ndims:8;
01855 FIELD nlen:24;
01856 struct Cif_geometry_dim *dim;
01857 char *name;
01858 };
01859 #define GEOMETRY_SSIZE 8
01860
01861
01862
01863 struct Cif_continuation {
01864 FIELD rectype:8;
01865 FIELD line:24;
01866 FIELD fid:16;
01867 FIELD cpos:16;
01868 FIELD type:1;
01869 FIELD un1:7;
01870 };
01871 #define CONTINUATION_SSIZE 9
01872
01873
01874 #endif
01875
01876
01877
01878
01879 struct Cif_edopts {
01880 FIELD rectype:8;
01881 long opts;
01882 };
01883 #define EDOPTS_SSIZE sizeof(struct Cif_edopts)
01884
01885
01886 struct Cif_entry {
01887 FIELD rectype:8;
01888 FIELD etype:8;
01889 FIELD dtype:8;
01890 FIELD nlen:8;
01891 FIELD valargs:1;
01892 FIELD recur:1;
01893 FIELD stmtfunc:1;
01894 FIELD extrn:1;
01895 FIELD intrin:1;
01896 FIELD un2:2;
01897 FIELD imptype:1;
01898 FIELD symid:24;
01899 FIELD charlen:24;
01900 FIELD nargs:8;
01901 long *argids;
01902 char *name;
01903 };
01904 #define ENTRY_SSIZE 13
01905
01906
01907
01908 #if CIF_VERSION == 3
01909
01910 struct Cif_file {
01911 FIELD rectype:8;
01912 FIELD nlen:8;
01913 FIELD fid:16;
01914 FIELD onlen:8;
01915 char *name;
01916 char *oname;
01917 };
01918 #define FILE_SSIZE 5
01919
01920 struct Cif_file_1 {
01921 FIELD rectype:8;
01922 FIELD nlen:8;
01923 FIELD fid:16;
01924 char *name;
01925 };
01926 #define FILE_SSIZE_1 4
01927
01928 #else
01929
01930 struct Cif_file {
01931 FIELD rectype:8;
01932 FIELD nlen:8;
01933 FIELD fid:16;
01934 char *name;
01935 };
01936 #define FILE_SSIZE 4
01937
01938 #endif
01939
01940
01941 struct Cif_unittbl {
01942 FIELD unitpos:32;
01943 FIELD nlen:8;
01944 char *name;
01945 };
01946 #define UNITTBL_SSIZE 5
01947
01948 struct Cif_filedir {
01949 FIELD rectype:8;
01950 FIELD maxfid:24;
01951 FIELD nunits:16;
01952 FIELD nfiles:16;
01953 FIELD maxsid:24;
01954 FIELD un1:8;
01955 FIELD nincs:16;
01956 struct Cif_unittbl *ut;
01957 };
01958 #define FILEDIR_SSIZE 14
01959
01960
01961 struct Cif_include {
01962 FIELD rectype:8;
01963 FIELD line:24;
01964 FIELD cpos:16;
01965 FIELD srcid:16;
01966 FIELD incid:16;
01967 };
01968 #define INCLUDE_SSIZE 10
01969
01970
01971 struct Cif_label {
01972 FIELD rectype:8;
01973 FIELD symid:24;
01974 FIELD ltype:8;
01975 FIELD nlen:8;
01976 char *name;
01977 };
01978 #define LABEL_SSIZE 6
01979
01980
01981 struct Cif_loop {
01982 FIELD rectype:8;
01983 FIELD strline:24;
01984 FIELD lptype:8;
01985 FIELD endline:24;
01986 FIELD strcpos:16;
01987 FIELD endcpos:16;
01988 FIELD sfid:16;
01989 FIELD efid:16;
01990 FIELD symid:24;
01991 FIELD un1:8;
01992 FIELD labelid:24;
01993 };
01994 #define LOOP_SSIZE 23
01995
01996 #if CIF_VERSION == 1
01997
01998
01999 struct Cif_mach_char {
02000 FIELD rectype:8;
02001 int memspeed;
02002 long memsize;
02003 long valmask;
02004 char cpuname[16];
02005 };
02006 #define MACH_CHAR_SSIZE sizeof(struct Cif_mach_char)
02007
02008 #else
02009
02010
02011 struct Cif_mach_char {
02012 FIELD rectype:8;
02013 FIELD memspeed:24;
02014 FIELD memsize:32;
02015 FIELD valmask:32;
02016 char cpuname[15];
02017 FIELD tbitlen:8;
02018 FIELD numbanks:16;
02019 FIELD numcpus:16;
02020 FIELD instbufsize:32;
02021 FIELD clockperiod:16;
02022 FIELD numclregs:16;
02023 FIELD bankbusytime:16;
02024 };
02025 #define MACH_CHAR_SSIZE 42
02026
02027 struct Cif_mach_char_1 {
02028 FIELD rectype:8;
02029 int memspeed;
02030 long memsize;
02031 long valmask;
02032 char cpuname[16];
02033 };
02034 #define MACH_CHAR_SSIZE_1 sizeof(struct Cif_mach_char_1)
02035
02036
02037
02038 #endif
02039
02040 #if CIF_VERSION < 3
02041
02042
02043 struct Cif_message {
02044 FIELD rectype:8;
02045 FIELD fline:24;
02046 FIELD severity:8;
02047 FIELD uline:24;
02048 FIELD msgno:16;
02049 FIELD cpos:16;
02050 FIELD nargs:8;
02051 FIELD fid:16;
02052 char **args;
02053 };
02054 #define MESSAGE_SSIZE 15
02055
02056 #else
02057
02058
02059 struct Cif_message {
02060 FIELD rectype:8;
02061 FIELD fline:24;
02062 FIELD severity:8;
02063 FIELD uline:24;
02064 FIELD msgno:16;
02065 FIELD cpos:16;
02066 FIELD nargs:8;
02067 FIELD fid:16;
02068 FIELD nlen:8;
02069 FIELD order:8;
02070 FIELD flags:8;
02071 FIELD un1:16;
02072 FIELD pfid:24;
02073
02074 char **args;
02075 char *name;
02076 };
02077 #define MESSAGE_SSIZE 23
02078
02079
02080 struct Cif_message_1 {
02081 FIELD rectype:8;
02082 FIELD fline:24;
02083 FIELD severity:8;
02084 FIELD uline:24;
02085 FIELD msgno:16;
02086 FIELD cpos:16;
02087 FIELD nargs:8;
02088 FIELD fid:16;
02089 char **args;
02090 };
02091 #define MESSAGE_SSIZE_1 15
02092
02093 #endif
02094
02095 #if CIF_VERSION == 1
02096
02097
02098 struct Cif_misc_opts {
02099 FIELD rectype:8;
02100 FIELD malloc:4;
02101 FIELD intlen:4;
02102 FIELD msglvl:4;
02103 FIELD vopt:4;
02104 FIELD amode:4;
02105 FIELD trunc:4;
02106 FIELD truncval:8;
02107 FIELD nmsgs:8;
02108 FIELD ncdirs:8;
02109 FIELD onlen:8;
02110 FIELD cnlen:8;
02111 FIELD inlen:8;
02112 long *msgno;
02113 char **cdirs;
02114 char *objname;
02115 char *calname;
02116 char *inname;
02117 };
02118 #define MISC_OPTS_SSIZE 10
02119
02120 #else
02121
02122
02123 struct Cif_misc_opts {
02124 FIELD rectype:8;
02125 FIELD malloc:4;
02126 FIELD intlen:4;
02127 FIELD msglvl:4;
02128 FIELD vopt:4;
02129 FIELD amode:4;
02130 FIELD trunc:4;
02131 FIELD truncval:8;
02132 FIELD nmsgs:8;
02133 FIELD ncdirs:8;
02134 FIELD onlen:8;
02135 FIELD cnlen:8;
02136 FIELD inlen:8;
02137 FIELD llen:8;
02138 #ifdef CRAY
02139
02140
02141
02142
02143
02144
02145
02146
02147
02148 FIELD cifopt:16;
02149 FIELD inputlen:8;
02150 #else
02151 FIELD inputlen:8;
02152 FIELD cifopt:16;
02153 #endif
02154 FIELD runtime:8;
02155 FIELD numincs:8;
02156 long *msgno;
02157 char **cdirs;
02158 char *objname;
02159 char *calname;
02160 char *inname;
02161 char *lname;
02162 char **incdirs;
02163 };
02164 #define MISC_OPTS_SSIZE 16
02165
02166 struct Cif_misc_opts_1 {
02167 FIELD rectype:8;
02168 FIELD malloc:4;
02169 FIELD intlen:4;
02170 FIELD msglvl:4;
02171 FIELD vopt:4;
02172 FIELD amode:4;
02173 FIELD trunc:4;
02174 FIELD truncval:8;
02175 FIELD nmsgs:8;
02176 FIELD ncdirs:8;
02177 FIELD onlen:8;
02178 FIELD cnlen:8;
02179 FIELD inlen:8;
02180 long *msgno;
02181 char **cdirs;
02182 char *objname;
02183 char *calname;
02184 char *inname;
02185 };
02186 #define MISC_OPTS_SSIZE_1 10
02187
02188 #endif
02189
02190
02191 struct Cif_namelist {
02192 FIELD rectype:8;
02193 FIELD symid:24;
02194 FIELD nids:16;
02195 FIELD nlen:8;
02196 char *name;
02197 long *ids;
02198 };
02199 #define NAMELIST_SSIZE 7
02200
02201
02202 struct Cif_nd_msg {
02203 FIELD rectype:8;
02204 FIELD fline:24;
02205 FIELD severity:8;
02206 FIELD uline:24;
02207 FIELD msgno:16;
02208 FIELD cpos:16;
02209 FIELD fid:16;
02210 FIELD msgfid:16;
02211 char group[16];
02212 FIELD nargs:8;
02213 char **args;
02214 };
02215 #define ND_MSG_SSIZE 33
02216
02217
02218
02219 struct Cif_dim {
02220 int lower;
02221 int upper;
02222 FIELD ltype:8;
02223 FIELD utype:8;
02224 };
02225 #define DIM_SSIZE sizeof(struct Cif_dim)
02226
02227 #if CIF_VERSION == 1
02228
02229 struct Cif_object {
02230 FIELD rectype:8;
02231 FIELD storage:24;
02232 FIELD class:8;
02233 FIELD symid:24;
02234 FIELD dtype:8;
02235 FIELD charlen:24;
02236 FIELD offset:32;
02237 FIELD nlen:8;
02238 FIELD ndims:3;
02239 FIELD aarray:1;
02240 FIELD equiv:1;
02241 FIELD data:1;
02242 FIELD save:1;
02243 FIELD imptype:1;
02244 FIELD valoffset:1;
02245 FIELD cltype:1;
02246 FIELD un1:6;
02247 char *name;
02248 struct Cif_dim *dim;
02249 };
02250 #define OBJECT_SSIZE 19
02251
02252 #else
02253
02254 struct Cif_object {
02255 FIELD rectype:8;
02256 FIELD storage:24;
02257 FIELD symclass:8;
02258 FIELD symid:24;
02259 FIELD dtype:8;
02260 FIELD charlen:24;
02261 FIELD offset:32;
02262 FIELD nlen:8;
02263 FIELD ndims:3;
02264 FIELD aarray:1;
02265 FIELD equiv:1;
02266 FIELD data:1;
02267 FIELD save:1;
02268 FIELD imptype:1;
02269 FIELD valoffset:1;
02270 FIELD cltype:1;
02271 FIELD peresident:1;
02272 FIELD pointee:1;
02273 FIELD arraydec:1;
02274 FIELD geomdec:1;
02275 FIELD un1:6;
02276 FIELD dist:4;
02277 FIELD geomid:24;
02278 FIELD un2:8;
02279 FIELD pointer:24;
02280 char *name;
02281 struct Cif_dim *dim;
02282 };
02283 #define OBJECT_SSIZE 27
02284
02285
02286
02287
02288 struct Cif_object_1 {
02289 FIELD rectype:8;
02290 FIELD storage:24;
02291 FIELD symclass:8;
02292 FIELD symid:24;
02293 FIELD dtype:8;
02294 FIELD charlen:24;
02295 FIELD offset:32;
02296 FIELD nlen:8;
02297 FIELD ndims:3;
02298 FIELD aarray:1;
02299 FIELD equiv:1;
02300 FIELD data:1;
02301 FIELD save:1;
02302 FIELD imptype:1;
02303 FIELD valoffset:1;
02304 FIELD cltype:1;
02305 FIELD un1:6;
02306 char *name;
02307 struct Cif_dim *dim;
02308 };
02309 #define OBJECT_SSIZE_1 19
02310
02311 #endif
02312
02313
02314 #if CIF_VERSION == 1
02315
02316
02317 struct Cif_opt_opts {
02318 FIELD rectype:8;
02319 long values;
02320 };
02321 #define OPT_OPTS_SSIZE sizeof(struct Cif_opt_opts)
02322
02323 #else
02324
02325
02326 struct Cif_opt_opts {
02327 FIELD rectype:8;
02328 FIELD inlevel:2;
02329 FIELD un1:22;
02330 FIELD values:32;
02331 };
02332 #define OPT_OPTS_SSIZE 8
02333
02334
02335
02336 struct Cif_opt_opts_1 {
02337 FIELD rectype:8;
02338 long values;
02339 };
02340 #define OPT_OPTS_SSIZE_1 sizeof(struct Cif_opt_opts_1)
02341
02342 #endif
02343
02344
02345
02346 struct Cif_srcfile {
02347 FIELD rectype:8;
02348 FIELD form:8;
02349 FIELD fid:16;
02350 };
02351 #define SRCFILE_SSIZE 4
02352
02353
02354 struct Cif_summary {
02355 FIELD rectype:8;
02356 char level[16];
02357 char gdate[16];
02358 char gtime[16];
02359 char ctime[16];
02360 long fldlen;
02361 long nlines;
02362 long csize;
02363 long dsize;
02364 };
02365 #define SUMMARY_SSIZE sizeof(struct Cif_summary)
02366
02367
02368 struct Cif_stmt_type {
02369 FIELD rectype:8;
02370 FIELD line:24;
02371 FIELD cpos:16;
02372 FIELD fid:16;
02373 FIELD type:8;
02374 FIELD eline:24;
02375 FIELD efid:16;
02376 FIELD ecpos:16;
02377 };
02378 #define STMT_TYPE_SSIZE 16
02379
02380
02381 struct Cif_unit {
02382 FIELD rectype:8;
02383 FIELD line:24;
02384 FIELD cpos:16;
02385 FIELD fid:16;
02386 FIELD nlen:8;
02387 char *name;
02388 };
02389 #define UNIT_SSIZE 9
02390
02391
02392 struct Cif_endunit {
02393 FIELD rectype:8;
02394 FIELD line:24;
02395 FIELD cpos:16;
02396 FIELD fid:16;
02397 FIELD nlen:8;
02398 char *name;
02399 };
02400 #define ENDUNIT_SSIZE 9
02401
02402 #if CIF_VERSION == 1
02403
02404
02405 struct Cif_use {
02406 FIELD line:24;
02407 FIELD utype:10;
02408 FIELD cpos:14;
02409 FIELD fid:16;
02410 };
02411
02412 struct Cif_usage {
02413 FIELD rectype:8;
02414 FIELD nuses:24;
02415 FIELD symid:24;
02416 struct Cif_use *use;
02417 };
02418 #define USAGE_SSIZE 7
02419
02420 #else
02421
02422
02423 struct Cif_use {
02424 FIELD line:24;
02425 FIELD utype:10;
02426 FIELD data:1;
02427 FIELD init:1;
02428 FIELD cpos:12;
02429 FIELD fid:16;
02430 };
02431
02432
02433 struct Cif_use_1 {
02434 FIELD line:24;
02435 FIELD utype:10;
02436 FIELD cpos:14;
02437 FIELD fid:16;
02438 };
02439
02440 struct Cif_usage {
02441 FIELD rectype:8;
02442 FIELD nuses:24;
02443 FIELD symid:24;
02444 FIELD nmembs:8;
02445
02446 long *membs;
02447 struct Cif_use *use;
02448 };
02449 #define USAGE_SSIZE 8
02450
02451 struct Cif_usage_1 {
02452 FIELD rectype:8;
02453 FIELD nuses:24;
02454 FIELD symid:24;
02455 struct Cif_use *use;
02456 };
02457 #define USAGE_SSIZE_1 7
02458
02459 #endif
02460
02461
02462
02463 struct Cif_urectbl {
02464 FIELD rectype:8;
02465 FIELD nrecords:24;
02466 FIELD recpos:32;
02467 };
02468 #define URECTBL_SSIZE sizeof(struct Cif_urectbl)
02469
02470 struct Cif_unitdir {
02471 FIELD rectype:8;
02472 FIELD maxsid:24;
02473 FIELD nsections:16;
02474 struct Cif_urectbl *ur;
02475 };
02476 #define UNITDIR_SSIZE 6
02477
02478
02479
02480
02481 #if CIF_VERSION != 1
02482
02483
02484 struct Cif_transform {
02485 FIELD rectype:8;
02486 FIELD line:23;
02487 FIELD type:1;
02488 FIELD fid:16;
02489 };
02490 #define TRANSFORM_SSIZE 6
02491
02492
02493
02494
02495 #if CIF_VERSION == 2
02496
02497
02498 struct Cif_f90_derived_type {
02499 FIELD rectype:8;
02500 FIELD symid:24;
02501 FIELD scopeid:24;
02502 FIELD nlen:8;
02503 FIELD dervtype:24;
02504 FIELD sequence:1;
02505 FIELD defprivate:1;
02506 FIELD comprivate:1;
02507 FIELD un1:5;
02508 FIELD flag:16;
02509 FIELD nmembs:16;
02510 char *name;
02511 long *memids;
02512 };
02513 #define F90_DERIVED_TYPE_SSIZE 16
02514
02515 #else
02516
02517
02518 struct Cif_f90_derived_type {
02519 FIELD rectype:8;
02520 FIELD symid:24;
02521 FIELD scopeid:24;
02522 FIELD nlen:8;
02523 FIELD dervtype:24;
02524 FIELD sequence:1;
02525 FIELD defprivate:1;
02526 FIELD comprivate:1;
02527 FIELD un1:5;
02528 FIELD flag:16;
02529 FIELD nmembs:16;
02530 FIELD moduleid:24;
02531
02532 FIELD un2:8;
02533 FIELD un3:32;
02534 FIELD un4:32;
02535
02536 char *name;
02537 long *memids;
02538 };
02539 #define F90_DERIVED_TYPE_SSIZE 28
02540
02541
02542 struct Cif_f90_derived_type_2 {
02543 FIELD rectype:8;
02544 FIELD symid:24;
02545 FIELD scopeid:24;
02546 FIELD nlen:8;
02547 FIELD dervtype:24;
02548 FIELD sequence:1;
02549 FIELD defprivate:1;
02550 FIELD comprivate:1;
02551 FIELD un1:5;
02552 FIELD flag:16;
02553 FIELD nmembs:16;
02554 char *name;
02555 long *memids;
02556 };
02557 #define F90_DERIVED_TYPE_SSIZE_2 16
02558
02559 #endif
02560
02561
02562 struct Cif_f90_callsite {
02563 FIELD rectype:8;
02564 FIELD line:24;
02565 FIELD cpos:16;
02566 FIELD nargs:16;
02567 FIELD entryid:24;
02568 FIELD valused:1;
02569 FIELD rank:1;
02570 FIELD un1:6;
02571 FIELD procid:24;
02572 FIELD un2:8;
02573 FIELD fid:16;
02574 FIELD un3:16;
02575 FIELD scopeid:24;
02576 struct Cif_f90_callsite *link;
02577 long *argids;
02578 int *nmembs;
02579 long **membs;
02580 int *ranks;
02581
02582 };
02583 #define F90_CALLSITE_SSIZE 23
02584
02585
02586 struct Cif_f90_comblk {
02587 FIELD rectype:8;
02588 FIELD symid:24;
02589 FIELD length:32;
02590 FIELD cbtype:8;
02591 FIELD scopeid:24;
02592 FIELD nlen:8;
02593 FIELD moduleid:24;
02594 FIELD dist:8;
02595 char *name;
02596 };
02597 #define F90_COMBLK_SSIZE 16
02598
02599
02600 struct Cif_f90_const {
02601 FIELD rectype:8;
02602 FIELD aggregate:1;
02603 FIELD strline:23;
02604 FIELD endline:24;
02605 FIELD un1:8;
02606 FIELD vlen:16;
02607 FIELD fid:16;
02608 FIELD strpos:16;
02609 FIELD endpos:16;
02610 FIELD symid:24;
02611 FIELD un2:8;
02612 FIELD scopeid:24;
02613 char *value;
02614 };
02615 #define F90_CONST_SSIZE 23
02616
02617
02618 struct Cif_f90_entry {
02619 FIELD rectype:8;
02620 FIELD symid:24;
02621 FIELD etype:8;
02622 FIELD resultid:24;
02623 FIELD ptype:8;
02624 FIELD useassoc:1;
02625 FIELD direct:1;
02626
02627
02628
02629 FIELD scopeid:22;
02630 FIELD moduleid:24;
02631 FIELD nlen:8;
02632 FIELD valargs:1;
02633 FIELD defined:1;
02634 FIELD intblock:1;
02635 FIELD stmtfunc:1;
02636 FIELD referenced:1;
02637 FIELD optional:1;
02638 FIELD priv:1;
02639 FIELD recur:1;
02640 FIELD nargs:8;
02641 long *argids;
02642 char *name;
02643 };
02644 #define F90_ENTRY_SSIZE 18
02645
02646
02647 struct Cif_f90_loop {
02648 FIELD rectype:8;
02649 FIELD strline:24;
02650 FIELD lptype:8;
02651 FIELD endline:24;
02652 FIELD strcpos:16;
02653 FIELD endcpos:16;
02654 FIELD sfid:16;
02655 FIELD efid:16;
02656 FIELD scopeid:24;
02657 FIELD stmtid1:8;
02658 FIELD symid:24;
02659 FIELD stmtid2:8;
02660 FIELD labelid:24;
02661 FIELD stmtid3:8;
02662 FIELD nameid:24;
02663 };
02664
02665
02666
02667
02668 #define TOPBITS 255 << 16
02669 #define MIDDLEBITS 255 << 8
02670 #define BOTTOMBITS 255
02671 #define stmtid(A) ((A)->stmtid1<<16 | (A)->stmtid2<<8 | (A)->stmtid3)
02672 #define setStmtid(A, B) (A)->stmtid1 = (((B) & TOPBITS) >> 16); (A)->stmtid2 = (((B) & MIDDLEBITS) >> 8); (A)->stmtid3 = (B) & BOTTOMBITS
02673 #define F90_LOOP_SSIZE 31
02674
02675
02676
02677 struct Cif_f90_label {
02678 FIELD rectype:8;
02679 FIELD symid:24;
02680 FIELD ltype:8;
02681 FIELD scopeid:24;
02682 FIELD nlen:8;
02683 char *name;
02684 };
02685 #define F90_LABEL_SSIZE 9
02686
02687
02688
02689 struct Cif_f90_namelist {
02690 FIELD rectype:8;
02691 FIELD symid:24;
02692 FIELD nlen:8;
02693 FIELD scopeid:24;
02694 FIELD nids:16;
02695 FIELD un:16;
02696 FIELD moduleid:24;
02697 char *name;
02698 long *ids;
02699 };
02700 #define F90_NAMELIST_SSIZE 15
02701
02702
02703
02704
02705 struct Cif_f90_object {
02706 FIELD rectype:8;
02707 FIELD symid:24;
02708 FIELD storage:8;
02709 FIELD storageid:24;
02710 FIELD symclass:8;
02711 FIELD charlen:24;
02712 FIELD offset:32;
02713 FIELD nlen:8;
02714 FIELD ndims:4;
02715 FIELD equiv:1;
02716 FIELD data:1;
02717 FIELD save:1;
02718 FIELD imptype:1;
02719 FIELD valoffset:1;
02720 FIELD deftype:1;
02721 FIELD allocatable:1;
02722 FIELD startype:1;
02723 FIELD kindtype:1;
02724 FIELD intentin:1;
02725 FIELD intentout:1;
02726 FIELD intentinout:1;
02727 FIELD optional:1;
02728 FIELD pointer:1;
02729 FIELD priv:1;
02730 FIELD target:1;
02731 FIELD chartype:4;
02732 FIELD scopeid:24;
02733 FIELD atype:3;
02734 FIELD peresident:1;
02735 FIELD pointee:1;
02736 FIELD arraydec:1;
02737 FIELD geomdec:1;
02738 FIELD init:1;
02739 FIELD dervid:24;
02740 FIELD dist:4;
02741 FIELD localname:1;
02742 FIELD un1:3;
02743 FIELD dtype:32;
02744 FIELD geomid:24;
02745 FIELD un2:8;
02746 FIELD pointerid:24;
02747 char *name;
02748 struct Cif_dim *dim;
02749 };
02750 #define F90_OBJECT_SSIZE 39
02751
02752
02753
02754
02755 struct Cif_f90_misc_opts {
02756 FIELD rectype:8;
02757 FIELD intlen:4;
02758 FIELD msglvl:4;
02759 FIELD vopt:4;
02760 FIELD trunc:4;
02761 FIELD truncval:8;
02762 FIELD swidth:8;
02763 FIELD nmsgs:8;
02764 FIELD ncdirs:8;
02765 FIELD nPdirs:8;
02766 FIELD npdirs:8;
02767 FIELD onlen:8;
02768 FIELD cnlen:8;
02769 FIELD inlen:8;
02770 FIELD ciflen:8;
02771 FIELD cifopts:8;
02772 FIELD srcform:1;
02773 FIELD runtime:7;
02774 long *msgno;
02775 char **cdirs;
02776 char **Pdirs;
02777 char **pdirs;
02778 char *objname;
02779 char *calname;
02780 char *inname;
02781 char *cifname;
02782 };
02783 #define F90_MISC_OPTS_SSIZE 15
02784
02785
02786
02787 struct Cif_f90_level_opts {
02788 FIELD optinlevel:16;
02789 FIELD level:16;
02790 };
02791
02792 #define OPTS_SSIZE sizeof(struct Cif_f90_level_opts)
02793
02794
02795 struct Cif_f90_opt_opts {
02796 FIELD rectype:8;
02797 FIELD newdef:1;
02798
02799
02800
02801
02802
02803 FIELD noptlevels:7;
02804 FIELD values:16;
02805 struct Cif_f90_level_opts *lopts;
02806 };
02807 #define F90_OPT_OPTS_SSIZE 4
02808
02809
02810
02811 struct Cif_f90_begin_scope {
02812 FIELD rectype:8;
02813 FIELD scopeid:24;
02814 FIELD fid:16;
02815 FIELD cpos:16;
02816 FIELD line:24;
02817 FIELD stype:8;
02818 FIELD symid:24;
02819 FIELD level:8;
02820 FIELD parentid:24;
02821 };
02822 #define F90_BEGIN_SCOPE_SSIZE 19
02823
02824
02825
02826 struct Cif_f90_end_scope {
02827 FIELD rectype:8;
02828 FIELD scopeid:24;
02829 FIELD fid:16;
02830 FIELD cpos:15;
02831 FIELD error:1;
02832 FIELD line:24;
02833 };
02834 #define F90_END_SCOPE_SSIZE 11
02835
02836
02837
02838 struct Cif_f90_scope_info {
02839 FIELD rectype:8;
02840 FIELD scopeid:24;
02841 FIELD impnone:1;
02842 FIELD doesio:1;
02843 FIELD hascalls:1;
02844 FIELD hascmics:1;
02845 FIELD numalts:12;
02846 long *entryids;
02847 };
02848 #define F90_SCOPE_INFO_SSIZE 6
02849
02850
02851
02852 struct Cif_f90_use_module {
02853 FIELD rectype:8;
02854 FIELD modid:24;
02855 FIELD modfid:16;
02856 FIELD direct:1;
02857 FIELD un1:15;
02858 };
02859 #define F90_USE_MODULE_SSIZE 8
02860
02861
02862
02863 struct Cif_f90_rename {
02864 FIELD rectype:8;
02865 FIELD modid:24;
02866 FIELD orignlen:8;
02867 FIELD origmodid:24;
02868 FIELD nlen:8;
02869 FIELD scopeid:24;
02870 FIELD nlocalids:8;
02871 FIELD nameid:24;
02872 long *localid;
02873 char *name;
02874 char *origname;
02875 };
02876 #define F90_RENAME_SSIZE 16
02877
02878
02879
02880
02881 #if CIF_VERSION <= 2
02882 struct Cif_f90_int_block {
02883 FIELD rectype:8;
02884 FIELD intid:24;
02885 FIELD type:7;
02886 FIELD priv:1;
02887 FIELD nlen:8;
02888 FIELD numints:16;
02889 FIELD scopeid:24;
02890 long *procids;
02891 char *name;
02892 };
02893 #define F90_INT_BLOCK_SSIZE 11
02894
02895 #else
02896
02897 struct Cif_f90_int_block {
02898 FIELD rectype:8;
02899 FIELD intid:24;
02900 FIELD type:7;
02901 FIELD priv:1;
02902 FIELD nlen:8;
02903 FIELD numints:16;
02904 FIELD scopeid:24;
02905 FIELD un1:8;
02906 FIELD moduleid:24;
02907 FIELD un2:32;
02908 FIELD un3:32;
02909 long *procids;
02910 char *name;
02911 };
02912 #define F90_INT_BLOCK_SSIZE 23
02913
02914 struct Cif_f90_int_block_2 {
02915 FIELD rectype:8;
02916 FIELD intid:24;
02917 FIELD type:7;
02918 FIELD priv:1;
02919 FIELD nlen:8;
02920 FIELD numints:16;
02921 FIELD scopeid:24;
02922 long *procids;
02923 char *name;
02924 };
02925 #define F90_INT_BLOCK_SSIZE_2 11
02926
02927 #endif
02928
02929
02930
02931
02932 struct Cif_f90_vectorization {
02933 FIELD rectype:8;
02934
02935 };
02936 #define F90_VECTORIZATION_SSIZE 1
02937
02938
02939 #if CIF_VERSION == 2
02940
02941
02942 struct Cif_BE_node {
02943 FIELD rectype:8;
02944 FIELD block:24;
02945 FIELD blocklet:8;
02946 FIELD nsuccs:4;
02947 FIELD nlines:4;
02948 FIELD type:7;
02949 FIELD is_entry:1;
02950 FIELD subtype:8;
02951 FIELD app_before:8;
02952 FIELD app_after:8;
02953 FIELD index:16;
02954 FIELD clocks:32;
02955 int icnt[ CIF_IT_MAX ];
02956 int *succs;
02957 int *lines;
02958 char *label;
02959 };
02960 #define BENODE_SSIZE (16 + CIF_IT_MAX * sizeof( int ))
02961
02962 #else
02963
02964
02965 struct Cif_BE_node {
02966 FIELD rectype:8;
02967 FIELD block:24;
02968 FIELD blocklet:8;
02969 FIELD nsuccs:4;
02970 FIELD nlines:4;
02971 FIELD type:7;
02972 FIELD is_entry:1;
02973 FIELD subtype:8;
02974 FIELD app_before:8;
02975 FIELD app_after:8;
02976 FIELD index:16;
02977 FIELD clocks:32;
02978 int icnt[ CIF_IT_MAX ];
02979 int *succs;
02980 int *fid;
02981 int *lines;
02982 char *label;
02983 };
02984 #define BENODE_SSIZE (16 + CIF_IT_MAX * sizeof( int ))
02985
02986
02987 struct Cif_BE_node_2 {
02988 FIELD rectype:8;
02989 FIELD block:24;
02990 FIELD blocklet:8;
02991 FIELD nsuccs:4;
02992 FIELD nlines:4;
02993 FIELD type:7;
02994 FIELD is_entry:1;
02995 FIELD subtype:8;
02996 FIELD app_before:8;
02997 FIELD app_after:8;
02998 FIELD index:16;
02999 FIELD clocks:32;
03000 int icnt[ CIF_IT_MAX ];
03001 int *succs;
03002 int *lines;
03003
03004 char *label;
03005 };
03006 #define BENODE_SSIZE_2 (16 + CIF_IT_MAX * sizeof( int ))
03007
03008 #endif
03009
03010 struct Cif_BE_fid {
03011 FIELD rectype:8;
03012 FIELD block:24;
03013 FIELD blocklet:8;
03014 FIELD un1:4;
03015 FIELD nfid:4;
03016 int *fid;
03017 };
03018 #define BEFID_SSIZE 6
03019
03020 #endif
03021
03022
03023 #if CIF_VERSION == 3
03024
03025 struct Cif_cc_type {
03026 FIELD rectype:8;
03027 FIELD scopeid:24;
03028 FIELD ptype:16;
03029 FIELD typeId:16;
03030 FIELD size:32;
03031 FIELD type:8;
03032 FIELD subtype:8;
03033 FIELD flags:8;
03034 FIELD prec:8;
03035 FIELD symid:24;
03036 FIELD btype:8;
03037 FIELD rtype:8;
03038 FIELD nlen:8;
03039 FIELD nmem:8;
03040 char *name;
03041 int *mem;
03042 };
03043 #define CCTYPE_SSIZE 23
03044
03045 struct Cif_cc_entry {
03046 FIELD rectype:8;
03047 FIELD symid:24;
03048 FIELD linkage:8;
03049 FIELD scopeid:24;
03050 FIELD typeId:16;
03051 FIELD ptype:16;
03052 FIELD attr:8;
03053 FIELD sfid:24;
03054 FIELD sline:24;
03055 FIELD scol:8;
03056 FIELD nlen:8;
03057 FIELD efid:24;
03058 FIELD eline:24;
03059 FIELD ecol:8;
03060 FIELD fsymid:24;
03061 FIELD elen:8;
03062 FIELD nparam:8;
03063 char *name;
03064 char *ename;
03065 int *param;
03066 };
03067 #define CCENTRY_SSIZE 33
03068
03069 struct Cif_cc_obj {
03070 FIELD rectype:8;
03071 FIELD symid:24;
03072 FIELD typeId:16;
03073 FIELD symcl:8;
03074 FIELD linkage:8;
03075 FIELD storage:8;
03076 FIELD scopeid:24;
03077 FIELD offset:32;
03078 FIELD ptype:24;
03079 FIELD nlen:8;
03080 char *name;
03081 };
03082 #define CCOBJ_SSIZE 20
03083
03084 struct Cif_cc_subtype {
03085 FIELD rectype:8;
03086 FIELD symid:24;
03087 FIELD ptype:24;
03088 FIELD symkind:8;
03089 FIELD subkind:8;
03090 FIELD flags:8;
03091 };
03092 #define CCSUBTYPE_SSIZE 10
03093
03094 struct Cif_cc_enum {
03095 FIELD rectype:8;
03096 FIELD symid:24;
03097 FIELD typeId:16;
03098 FIELD nlen:8;
03099 FIELD vlen:8;
03100 char *name;
03101 char *value;
03102 };
03103 #define CCENUM_SSIZE 8
03104
03105 struct Cif_cc_expr {
03106 FIELD rectype:8;
03107 FIELD exprid:24;
03108 FIELD type:8;
03109 FIELD fid:24;
03110 FIELD line:24;
03111 FIELD col:8;
03112 FIELD noper:8;
03113 int *oper;
03114 };
03115 #define CCEXPR_SSIZE 13
03116
03117 #endif
03118
03119 #if CIF_VERSION == 3
03120 struct Cif_src_pos {
03121 FIELD rectype:8;
03122 FIELD srcid:24;
03123 FIELD kind:8;
03124 FIELD psrcid:24;
03125 FIELD sline:24;
03126 FIELD scol:8;
03127
03128
03129
03130 FIELD fid:24;
03131 FIELD ecol:8;
03132 FIELD eline:24;
03133 FIELD un1:8;
03134 FIELD symid:24;
03135 };
03136 #define SRC_POS_SSIZE 23
03137
03138 struct Cif_orig_cmd {
03139 FIELD rectype:8;
03140 FIELD nlen:16;
03141 char *name;
03142 };
03143 #define ORIG_CMD_SSIZE 3
03144 #endif
03145
03146
03147
03148
03149 #if CIF_VERSION != 1
03150 #define CIF_MAX_SSIZE 100
03151
03152
03153 #endif
03154
03155
03156
03157
03158 #define CIFGEN(X) ((struct Cif_generic *)(X))
03159 #define CIFCS(X) ((struct Cif_callsite *)(X))
03160 #define CIFHDR(X) ((struct Cif_cifhdr *)(X))
03161 #define CIFCB(X) ((struct Cif_comblk *)(X))
03162 #define CIFCON(X) ((struct Cif_const *)(X))
03163 #define CIFED(X) ((struct Cif_edopts *)(X))
03164 #define CIFENTRY(X) ((struct Cif_entry *)(X))
03165 #define CIFFILE(X) ((struct Cif_file *)(X))
03166 #define CIFINC(X) ((struct Cif_include *)(X))
03167 #define CIFLABEL(X) ((struct Cif_label *)(X))
03168 #define CIFLOOP(X) ((struct Cif_loop *)(X))
03169 #define CIFMC(X) ((struct Cif_mach_char *)(X))
03170 #define CIFMSG(X) ((struct Cif_message *)(X))
03171 #define CIFMO(X) ((struct Cif_misc_opts *)(X))
03172 #define CIFNL(X) ((struct Cif_namelist *)(X))
03173 #define CIFNMSG(X) ((struct Cif_nd_msg *)(X))
03174 #define CIFOBJ(X) ((struct Cif_object *)(X))
03175 #define CIFOPTOPT(X) ((struct Cif_opt_opts *)(X))
03176 #define CIFSRC(X) ((struct Cif_srcfile *)(X))
03177 #define CIFSUM(X) ((struct Cif_summary *)(X))
03178 #define CIFSTMT(X) ((struct Cif_stmt_type *)(X))
03179 #define CIFUNIT(X) ((struct Cif_unit *)(X))
03180 #define CIFENDU(X) ((struct Cif_endunit *)(X))
03181 #define CIFUSAGE(X) ((struct Cif_usage *)(X))
03182 #define CIFUDIR(X) ((struct Cif_unitdir *)(X))
03183 #define CIFFDIR(X) ((struct Cif_filedir *)(X))
03184 #define CIFCCON(X) ((struct Cif_c_const *)(X))
03185 #define CIFCENTRY(X) ((struct Cif_c_entry *)(X))
03186 #define CIFCMSG(X) ((struct Cif_c_message *)(X))
03187 #define CIFCOBJ(X) ((struct Cif_c_object *)(X))
03188 #define CIFCOPTS(X) ((struct Cif_c_opts *)(X))
03189 #define CIFCTAG(X) ((struct Cif_c_tag *)(X))
03190
03191 #if CIF_VERSION != 1
03192 #define CIFCMSG1(X) ((struct Cif_c_message_1 *)(X))
03193 #define CIFCENTRY1(X) ((struct Cif_c_entry_1 *)(X))
03194
03195 #define CIFOBJ1(X) ((struct Cif_object_1 *)(X))
03196 #define CIFCB1(X) ((struct Cif_comblk_1 *)(X))
03197 #define CIFMO1(X) ((struct Cif_misc_opts_1 *)(X))
03198 #define CIFCON1(X) ((struct Cif_const_1 *)(X))
03199 #define CIFUSAGE1(X) ((struct Cif_usage_1 *)(X))
03200 #define CIFMC1(X) ((struct Cif_mach_char_1 *)(X))
03201
03202
03203 #define CIFTRAN(X) ((struct Cif_transform *)(X))
03204 #define CIFCDIR(X) ((struct Cif_cdir *)(X))
03205 #define CIFCDIRDO(X) ((struct Cif_cdir_doshared *)(X))
03206 #define CIFGEOM(X) ((struct Cif_geometry *)(X))
03207 #define CIFCONT(X) ((struct Cif_continuation *)(X))
03208 #define CIFF90CS(X) ((struct Cif_f90_callsite *)(X))
03209 #define CIFF90CB(X) ((struct Cif_f90_comblk *)(X))
03210 #define CIFF90CON(X) ((struct Cif_f90_const *)(X))
03211 #define CIFF90ENTRY(X) ((struct Cif_f90_entry *)(X))
03212 #define CIFF90LOOP(X) ((struct Cif_f90_loop *)(X))
03213 #define CIFF90DTYPE(X) ((struct Cif_f90_derived_type *)(X))
03214 #define CIFF90LABEL(X) ((struct Cif_f90_label *)(X))
03215 #define CIFF90NL(X) ((struct Cif_f90_namelist *)(X))
03216 #define CIFF90OBJ(X) ((struct Cif_f90_object *)(X))
03217 #define CIFF90MO(X) ((struct Cif_f90_misc_opts *)(X))
03218 #define CIFF90OPTOPT(X) ((struct Cif_f90_opt_opts *)(X))
03219 #define CIFF90BS(X) ((struct Cif_f90_begin_scope *)(X))
03220 #define CIFF90ES(X) ((struct Cif_f90_end_scope *)(X))
03221 #define CIFF90SI(X) ((struct Cif_f90_scope_info *)(X))
03222 #define CIFF90USE(X) ((struct Cif_f90_use_module *)(X))
03223 #define CIFF90RN(X) ((struct Cif_f90_rename *)(X))
03224 #define CIFF90IB(X) ((struct Cif_f90_int_block *)(X))
03225 #define CIFF90VECT(X) ((struct Cif_f90_vectorization *)(X))
03226 #define CIFCLDIR(X) ((struct Cif_c_lint_directive *)(X))
03227 #define CIFCMDEF(X) ((struct Cif_c_macro_def *)(X))
03228 #define CIFCMUDEF(X) ((struct Cif_c_macro_undef *)(X))
03229 #define CIFCMUSE(X) ((struct Cif_c_macro_usage *)(X))
03230 #define CIFCEEND(X) ((struct Cif_c_entry_end *)(X))
03231 #define CIFBENODE(X) ((struct Cif_BE_node *)(X))
03232 #define CIFBEFID(X) ((struct Cif_BE_fid *)(X))
03233
03234 #if CIF_VERSION >= 3
03235 #define CIFF90IB2(X) ((struct Cif_f90_int_block_2 *)(X))
03236 #define CIFF90DTYPE2(X) ((struct Cif_f90_derived_type_2 *)(X))
03237 #define CIFMSG1(X) ((struct Cif_message_1 *)(X))
03238 #define CIFFILE1(X) ((struct Cif_file_1 *)(X))
03239 #define CIFCCTYPE(X) ((struct Cif_cc_type *)(X))
03240 #define CIFCCENT(X) ((struct Cif_cc_entry *)(X))
03241 #define CIFCCOBJ(X) ((struct Cif_cc_obj *)(X))
03242 #define CIFCCSUB(X) ((struct Cif_cc_subtype *)(X))
03243 #define CIFCCENUM(X) ((struct Cif_cc_enum *)(X))
03244 #define CIFCCEXPR(X) ((struct Cif_cc_expr *)(X))
03245 #define CIFSPOS(X) ((struct Cif_src_pos *)(X))
03246 #define CIFOCMD(X) ((struct Cif_orig_cmd *)(X))
03247 #define CIFBENODE2(X) ((struct Cif_BE_node_2 *)(X))
03248 #endif
03249
03250 #endif
03251
03252
03253
03254
03255
03256
03257
03258 CIF_BEGIN_DECLS
03259 extern int Cif_Close __((int, int));
03260 extern struct Cif_generic *Cif_Duplicate __((struct Cif_generic *));
03261 extern char *Cif_Errstring __((int));
03262 extern void Cif_Free __((struct Cif_generic *));
03263 extern int Cif_Getfiledir __((int, struct Cif_filedir **));
03264 extern int Cif_Getrecord __((int, struct Cif_generic **));
03265 extern long Cif_Getpos __((int));
03266 extern int Cif_Getunitdir __((int, struct Cif_unittbl *, struct Cif_unitdir **));
03267 extern int Cif_Memmode __((int, int));
03268 extern int Cif_Msginsert __((char *, struct Cif_generic *, char *, int));
03269 extern int Cif_Putrecord __((int, struct Cif_generic *));
03270
03271 #if CIF_VERSION != 1
03272 extern int Cif_Cifconv __((char *, char *, int *, int, int));
03273 extern int Cif_Lines __((char *, char *, int *, int, int));
03274 extern void Cif_ConvDir __((char *dir));
03275
03276 extern int Cif_CifStatus __(( ));
03277
03278 extern char *Cif_Filename __((int));
03279 #endif
03280
03281 extern char* cif_basename __((char *));
03282 extern char *mktemp __((char *));
03283
03284
03285
03286
03287
03288
03289
03290
03291 #if CIF_VERSION == 1
03292 extern int Cif_Open_V1 __((char *, char *, int *, int));
03293 #endif
03294
03295
03296
03297
03298
03299
03300 #if CIF_VERSION == 2
03301 extern int Cif_Open_V2 __((char *, char *, int *, int));
03302 extern int Cif_Open_V2_1 __((char *, char *, int *, int, int));
03303 extern int Cif_Lines_V2_1 __((char *, char *, int *, int, int, int));
03304 extern int Cif_Cifconv_V2_1 __((char *, char *, int *, int, int, int));
03305 #endif
03306
03307 #if CIF_VERSION == 3
03308 extern int Cif_Open_V3 __((char *, char *, int *, int));
03309 extern int Cif_Open_V3_1 __((char *, char *, int *, int, int));
03310 extern int Cif_Lines_V3_1 __((char *, char *, int *, int, int, int));
03311 extern int Cif_Cifconv_V3_1 __((char *, char *, int *, int, int, int));
03312 #endif
03313
03314 extern int Cif_Recgroup __((int, struct Cif_unitdir *, int, struct Cif_generic **));
03315 extern int Cif_Release __((int, int));
03316 extern int Cif_Setpos __((int, long));
03317 CIF_END_DECLS
03318
03319 #undef CIF_BEGIN_DECLS
03320 #undef CIF_END_DECLS
03321
03322
03323 #define CIF_NOTCIF -1
03324 #define CIF_MAXOPENS -2
03325 #define CIF_NOTOPEN -3
03326 #define CIF_NOMEM -4
03327 #define CIF_EOF -5
03328 #define CIF_INTERNAL -6
03329 #define CIF_BADREQ -7
03330 #define CIF_BADFORM -8
03331 #define CIF_SYSERR -9
03332 #define CIF_EXP_VERS -10
03333 #define CIF_FILE_VERS -11
03334 #if CIF_VERSION == 1
03335 #define CIF_MAXERROR -11
03336 #else
03337 #define CIF_EXP_VERS2 -12
03338
03339
03340
03341 #define CIF_SUBVER -13
03342 #define CIF_MAXERROR_1 -11
03343 #define CIF_MAXERROR -13
03344 #endif
03345
03346
03347 #define CIF_FIRST_RECORD -1
03348
03349
03350 #undef FIELD
03351
03352 #endif
03353
03354