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
00077 #ifndef _CIF_H
00078 #define _CIF_H
00079
00080
00081 #ifndef CIF_VERSION
00082 # define CIF_VERSION 1
00083 #endif
00084
00085
00086 #define _CIF_INT_VERSION 3
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096 #define CIF_SUB_VERSION_2 3
00097 #define CIF_SUB_VERSION_3 1
00098
00099
00100
00101
00102
00103
00104 #if defined(__STDC__) && CIF_VERSION > _CIF_INT_VERSION || CIF_VERSION < 1
00105 #error "Please define CIF_VERSION correctly. If in doubt, use CIF_VERSION 1"
00106 #endif
00107
00108
00109
00110
00111
00112 #if defined(__STDC__) || defined(__cplusplus)
00113 # define __(_A) _A
00114 #else
00115 # define __(_A) ()
00116 #endif
00117
00118 #if defined(__cplusplus)
00119 # define CIF_BEGIN_DECLS extern "C" {
00120 # define CIF_END_DECLS };
00121 #else
00122 # define CIF_BEGIN_DECLS
00123 # define CIF_END_DECLS
00124 #endif
00125
00126 extern int Cif_Open __((char *, char *, int *, int));
00127
00128
00129
00130
00131
00132
00133
00134
00135 #if CIF_VERSION == 1
00136 # define Cif_Open Cif_Open_V1
00137 #endif
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158 #if CIF_VERSION == 2
00159 # define Cif_Open(A,B,C,D) \
00160 Cif_Open_V2_1((A), (B), (C), (D), CIF_SUB_VERSION_2)
00161 # define Cif_Lines(A,B,C,D, E) \
00162 Cif_Lines_V2_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_2)
00163 # define Cif_Cifconv(A,B,C,D, E) \
00164 Cif_Cifconv_V2_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_2)
00165 #endif
00166
00167 #if CIF_VERSION == 3
00168 # define Cif_Open(A,B,C,D) \
00169 Cif_Open_V3_1((A), (B), (C), (D), CIF_SUB_VERSION_3)
00170 # define Cif_Lines(A,B,C,D, E) \
00171 Cif_Lines_V3_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_3)
00172 # define Cif_Cifconv(A,B,C,D, E) \
00173 Cif_Cifconv_V3_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_3)
00174 #endif
00175
00176
00177 #ifndef FIELD
00178
00179 #ifdef AIXV3
00180 #define FIELD unsigned int
00181 #else
00182 #define FIELD unsigned int
00183 #endif
00184 #endif
00185
00186
00187 #define CIF_CALLSITE 1
00188 #define CIF_CIFHDR 2
00189 #define CIF_COMBLK 3
00190 #define CIF_CONST 4
00191
00192 #if CIF_VERSION != 1
00193 #define CIF_CDIR 5
00194 #endif
00195
00196 #define CIF_ENTRY 6
00197 #define CIF_FILE 7
00198 #define CIF_LOOP 8
00199 #define CIF_INCLUDE 9
00200 #define CIF_LABEL 10
00201 #define CIF_MESSAGE 11
00202 #define CIF_NAMELIST 12
00203 #define CIF_OBJECT 13
00204 #define CIF_SRCFILE 14
00205 #define CIF_SUMMARY 15
00206
00207 #if CIF_VERSION != 1
00208 #define CIF_CDIR_DOSHARED 16
00209 #endif
00210
00211 #define CIF_UNIT 17
00212 #define CIF_ENDUNIT 18
00213 #define CIF_USAGE 19
00214 #define CIF_ND_MSG 20
00215 #define CIF_EDOPTS 21
00216 #define CIF_MACH_CHAR 22
00217 #define CIF_MISC_OPTS 23
00218 #define CIF_OPT_OPTS 24
00219 #define CIF_STMT_TYPE 25
00220
00221 #if CIF_VERSION != 1
00222 #define CIF_GEOMETRY 26
00223 #define CIF_CONTINUATION 27
00224 #endif
00225
00226 #if CIF_VERSION != 1
00227 #define CIF_F90_CALLSITE 28
00228 #define CIF_F90_COMBLK 29
00229 #define CIF_F90_CONST 30
00230 #define CIF_F90_ENTRY 31
00231 #define CIF_F90_LOOP 32
00232 #define CIF_F90_DERIVED_TYPE 33
00233 #define CIF_F90_LABEL 34
00234 #define CIF_F90_NAMELIST 35
00235 #define CIF_F90_OBJECT 36
00236 #define CIF_F90_MISC_OPTS 37
00237 #define CIF_F90_OPT_OPTS 38
00238 #define CIF_F90_BEGIN_SCOPE 39
00239 #define CIF_F90_END_SCOPE 40
00240 #define CIF_F90_SCOPE_INFO 41
00241 #define CIF_F90_USE_MODULE 42
00242 #define CIF_F90_RENAME 43
00243 #define CIF_F90_INT_BLOCK 44
00244 #define CIF_F90_VECTORIZATION 45
00245
00246 #define CIF_BE_NODE 46
00247
00248 #if CIF_VERSION >= 2
00249 #define CIF_BE_FID 50
00250 #endif
00251
00252 #define CIF_TRANSFORM 47
00253
00254 #endif
00255
00256 #define CIF_FILEDIR 48
00257 #define CIF_UNITDIR 49
00258 #define CIF_C_TAG 51
00259 #define CIF_C_OPTS 52
00260 #define CIF_C_MESSAGE 53
00261 #define CIF_C_CONST 54
00262 #define CIF_C_ENTRY 55
00263 #define CIF_C_OBJECT 56
00264 #if CIF_VERSION == 1
00265 #define CIF_MAXRECORD 57
00266 #else
00267 #define CIF_C_LINT_DIRECTIVE 57
00268 #define CIF_C_MACRO_DEF 58
00269 #define CIF_C_MACRO_UNDEF 59
00270 #define CIF_C_MACRO_USAGE 60
00271 #define CIF_C_ENTRY_END 61
00272
00273 #if CIF_VERSION == 3
00274
00275 #define CIF_ORIG_CMD 70
00276
00277 #define CIF_CC_TYPE 80
00278 #define CIF_CC_ENTRY 81
00279 #define CIF_CC_OBJ 82
00280 #define CIF_CC_SUBTYPE 83
00281 #define CIF_CC_ENUM 84
00282 #define CIF_CC_EXPR 85
00283
00284 #define CIF_SRC_POS 86
00285
00286 #define CIF_MAXRECORD 100
00287 #define CIF_MAXRECORD_1 57
00288 #define CIF_MAXRECORD_2 62
00289
00290 #else
00291
00292 #define CIF_MAXRECORD 62
00293 #define CIF_MAXRECORD_1 57
00294
00295 #endif
00296
00297 #endif
00298
00299
00300 #define CIF_BTC_TYPELESS 0x00
00301 #define CIF_BTC_SBITFLD 0x01
00302 #define CIF_BTC_UBITFLD 0x02
00303 #define CIF_BTC_SCHAR 0x03
00304 #define CIF_BTC_UCHAR 0x04
00305 #define CIF_BTC_SSHORT 0x05
00306 #define CIF_BTC_USHORT 0x06
00307 #define CIF_BTC_SINT 0x07
00308 #define CIF_BTC_UINT 0x08
00309 #define CIF_BTC_SLONG 0x09
00310 #define CIF_BTC_ULONG 0x0a
00311 #define CIF_BTC_FLOAT 0x0b
00312 #define CIF_BTC_DOUBLE 0x0c
00313 #define CIF_BTC_LDOUBLE 0x0d
00314 #define CIF_BTC_FCOMPLX 0x0e
00315 #define CIF_BTC_DCOMPLX 0x0f
00316 #define CIF_BTC_LDCOMPLX 0x10
00317 #define CIF_BTC_VOID 0x11
00318 #define CIF_BTC_STRUCT 0x12
00319 #define CIF_BTC_UNION 0x13
00320 #define CIF_BTC_ENUM 0x14
00321 #define CIF_BTC_UNKNOWN 0xff
00322 #define CIF_BTC_MAX 32
00323
00324
00325 #define CIF_CCT_INT 1
00326 #define CIF_CCT_FLOAT 2
00327 #define CIF_CCT_COMPLEX 3
00328 #define CIF_CCT_VOID 4
00329 #define CIF_CCT_CLASS 5
00330 #define CIF_CCT_STRUCT 6
00331 #define CIF_CCT_UNION 7
00332 #define CIF_CCT_TYPEDEF 8
00333 #define CIF_CCT_QUALIFIED 9
00334 #define CIF_CCT_ENUM 10
00335 #define CIF_CCT_FUNCTION 11
00336 #define CIF_CCT_POINTER 12
00337 #define CIF_CCT_ARRAY 13
00338 #define CIF_CCT_PTRMEM 14
00339 #define CIF_CCT_TEMPAR 15
00340
00341
00342
00343 #define CIF_CB_REG 0
00344 #define CIF_CB_TASK 1
00345 #define CIF_CB_LOCAL 2
00346 #define CIF_CB_AUX 3
00347 #define CIF_CB_THREAD_PRIVATE 4
00348 #define CIF_CB_MAX 5
00349
00350
00351 #define CIF_DM_CONSTANT 0
00352 #define CIF_DM_EXPR 1
00353 #define CIF_DM_ASSUMED 2
00354 #define CIF_DM_MAX 3
00355
00356
00357 #define CIF_DT_UNKNOWN 0
00358 #define CIF_DT_TYPELESS 1
00359 #define CIF_DT_INT32 2
00360 #define CIF_DT_INT46 3
00361 #define CIF_DT_INT64 4
00362 #define CIF_DT_REAL 5
00363 #define CIF_DT_DOUBLE 6
00364 #define CIF_DT_FCHAR 7
00365 #define CIF_DT_COMPLEX 8
00366 #define CIF_DT_DBLE_CMPLX 9
00367 #define CIF_DT_FPTR 10
00368 #define CIF_DT_LOGICAL 11
00369 #define CIF_DT_FCPTR 12
00370 #define CIF_DT_DERIVED 13
00371 #define CIF_DT_MAX 14
00372
00373
00374 #if CIF_VERSION != 1
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388 #define CIF_F90_DT_UNKNOWN 0
00389 #define CIF_F90_DT_FPTR 10
00390 #define CIF_F90_DT_FCPTR 12
00391
00392 #if CIF_VERSION == 2
00393 #define CIF_F90_DT_SHORT_CHAR_CONST 21
00394 #define CIF_F90_DT_SHORT_TYPELESS 22
00395 #define CIF_F90_DT_LONG_TYPELESS 23
00396 #endif
00397
00398 #define CIF_F90_DT_TYPELESS 22
00399
00400 #define CIF_F90_DT_INTEGER_1 24
00401 #define CIF_F90_DT_INTEGER_2 25
00402 #define CIF_F90_DT_INTEGER_4 26
00403 #define CIF_F90_DT_INTEGER_6 27
00404 #define CIF_F90_DT_INTEGER_8 28
00405 #define CIF_F90_DT_REAL_4 29
00406 #define CIF_F90_DT_REAL_8 30
00407 #define CIF_F90_DT_REAL_16 31
00408 #define CIF_F90_DT_COMPLEX_4 32
00409 #define CIF_F90_DT_COMPLEX_8 33
00410 #define CIF_F90_DT_COMPLEX_16 34
00411 #define CIF_F90_DT_LOGICAL_1 36
00412 #define CIF_F90_DT_LOGICAL_2 37
00413 #define CIF_F90_DT_LOGICAL_4 38
00414 #define CIF_F90_DT_LOGICAL_8 39
00415 #define CIF_F90_DT_CHARACTER_1 40
00416 #define CIF_F90_DT_CHARACTER_2 41
00417 #define CIF_F90_DT_CHARACTER_4 42
00418 #define CIF_F90_DT_MAX 43
00419
00420 #endif
00421
00422
00423
00424
00425 #define CIF_EDF_OPTa 0x00000001
00426 #define CIF_EDF_OPTc 0x00000002
00427 #define CIF_EDF_OPTd 0x00000004
00428 #define CIF_EDF_OPTf 0x00000008
00429 #define CIF_EDF_OPTg 0x00000010
00430 #define CIF_EDF_OPTh 0x00000020
00431 #define CIF_EDF_OPTi 0x00000040
00432 #define CIF_EDF_OPTj 0x00000080
00433 #define CIF_EDF_OPTm 0x00000100
00434 #define CIF_EDF_OPTn 0x00000200
00435 #define CIF_EDF_OPTo 0x00000400
00436 #define CIF_EDF_OPTp 0x00000800
00437 #define CIF_EDF_OPTq 0x00001000
00438 #define CIF_EDF_OPTr 0x00002000
00439 #define CIF_EDF_OPTs 0x00004000
00440 #define CIF_EDF_OPTu 0x00008000
00441 #define CIF_EDF_OPTv 0x00010000
00442 #define CIF_EDF_OPTw 0x00020000
00443 #define CIF_EDF_OPTx 0x00040000
00444 #define CIF_EDF_OPTz 0x00080000
00445 #define CIF_EDF_OPTB 0x00100000
00446 #define CIF_EDF_OPTP 0x00200000
00447 #define CIF_EDF_OPTS 0x00400000
00448
00449 #if CIF_VERSION != 1
00450 #define CIF_EDF_OPTt 0x00800000
00451 #endif
00452
00453
00454 #if CIF_VERSION != 1
00455
00456
00457 #define CIF_F90_EDF_OPTa 0x00000001
00458 #define CIF_F90_EDF_OPTd 0x00000002
00459 #define CIF_F90_EDF_OPTf 0x00000004
00460 #define CIF_F90_EDF_OPTi 0x00000008
00461 #define CIF_F90_EDF_OPTj 0x00000010
00462 #define CIF_F90_EDF_OPTn 0x00000020
00463 #define CIF_F90_EDF_OPTp 0x00000040
00464 #define CIF_F90_EDF_OPTq 0x00000080
00465 #define CIF_F90_EDF_OPTr 0x00000100
00466 #define CIF_F90_EDF_OPTt 0x00020000
00467 #define CIF_F90_EDF_OPTu 0x00000200
00468 #define CIF_F90_EDF_OPTv 0x00000400
00469 #define CIF_F90_EDF_OPTz 0x00000800
00470 #define CIF_F90_EDF_OPTB 0x00001000
00471 #define CIF_F90_EDF_OPTP 0x00002000
00472 #define CIF_F90_EDF_OPTS 0x00004000
00473 #define CIF_F90_EDF_OPTA 0x00008000
00474 #define CIF_F90_EDF_OPTX 0x00010000
00475
00476
00477
00478 #define CIF_DN_NA 0
00479 #define CIF_DN_PE_PRIVATE 1
00480 #define CIF_DN_SHARED_CAN 2
00481 #define CIF_DN_SHARED_DIM 3
00482 #define CIF_DN_UNKNOWN 4
00483 #define CIF_DN_UNKNOWN_SHARED 5
00484
00485
00486 #define CIF_CD_MASTER 0
00487 #define CIF_CD_END_MASTER 1
00488 #define CIF_CD_BARRIER 2
00489 #define CIF_CD_NO_BARRIER 3
00490 #define CIF_CD_CRITICAL 4
00491 #define CIF_CD_END_CRITICAL 5
00492 #define CIF_CD_SHARED_IO 6
00493 #define CIF_CD_ATOMIC_UPDATE 7
00494 #define CIF_CD_LIST 8
00495 #define CIF_CD_NOLIST 9
00496 #define CIF_CD_EJECT 10
00497
00498
00499 #define CIF_DO_ALIGNED 0
00500 #define CIF_DO_UNIFORM 1
00501 #define CIF_DO_CHUNKSIZE 2
00502 #define CIF_DO_NUMCHUNKS 3
00503 #define CIF_DO_GUIDED 4
00504
00505 #endif
00506
00507
00508
00509 #define CIF_ENC_OBJECT 0
00510 #define CIF_ENC_FORMARG 2
00511 #define CIF_ENC_TYPEDEF 3
00512 #define CIF_ENC_ENUMMEM 4
00513
00514 #if CIF_VERSION == 1
00515
00516 #define CIF_ENC_TAG 10
00517 #define CIF_ENC_MEMBER 11
00518 #define CIF_ENC_STRLIT 12
00519 #define CIF_ENC_MAX 13
00520
00521 #else
00522
00523 #define CIF_ENC_TAG 9
00524 #define CIF_ENC_MEMBER 10
00525 #define CIF_ENC_STRLIT 11
00526 #define CIF_ENC_MAX 12
00527
00528 #endif
00529
00530
00531 #define CIF_ET_ALT_ENTRY 1
00532 #define CIF_ET_BLOCKDATA 2
00533 #define CIF_ET_FUNCTION 3
00534 #define CIF_ET_PROGRAM 4
00535 #define CIF_ET_SUBROUTINE 5
00536 #define CIF_ET_UNKNOWN 6
00537 #define CIF_ET_MAX 7
00538
00539 #if CIF_VERSION != 1
00540
00541 #define CIF_F90_ET_ERROR 0
00542 #define CIF_F90_ET_ALT_ENTRY 1
00543 #define CIF_F90_ET_BLOCKDATA 2
00544 #define CIF_F90_ET_FUNCTION 3
00545 #define CIF_F90_ET_PROGRAM 4
00546 #define CIF_F90_ET_SUBROUTINE 5
00547 #define CIF_F90_ET_UNKNOWN 6
00548 #define CIF_F90_ET_MODULE 7
00549 #define CIF_F90_ET_STMT 8
00550 #define CIF_F90_ET_MAX 9
00551
00552
00553
00554 #define CIF_F90_PT_UNKNOWN 0
00555 #define CIF_F90_PT_EXTERNAL 1
00556 #define CIF_F90_PT_INTRINSIC 2
00557 #define CIF_F90_PT_DUMMY 3
00558 #define CIF_F90_PT_INTERNAL 4
00559 #define CIF_F90_PT_IMPORTED 5
00560 #define CIF_F90_PT_MODULE 6
00561 #define CIF_F90_PT_MAX 7
00562
00563
00564
00565 #define CIF_AT_EXPLICIT 1
00566 #define CIF_AT_ASSUMED_SIZE 2
00567 #define CIF_AT_DEFERRED 3
00568 #define CIF_AT_ASSUMED 4
00569
00570 #endif
00571
00572
00573
00574 #define CIF_FORM_RANDOM 0
00575 #define CIF_FORM_SORTED 1
00576
00577
00578 #define CIF_FORM_CIFCONV 0
00579 #define CIF_FORM_LINES 1
00580 #define CIF_FORM_USER 2
00581
00582
00583
00584 #define CIF_ID_NONCONTIG 0
00585 #define CIF_ID_CONTIGUOUS 1
00586
00587
00588 #define CIF_LB_FORMAT 1
00589 #define CIF_LB_STMT 2
00590 #define CIF_LB_UNKNOWN 3
00591 #define CIF_LB_CONSTRUCT 4
00592 #define CIF_LB_MAX 5
00593
00594
00595 #define CIF_LG_F77 0
00596 #define CIF_LG_F90 1
00597 #define CIF_LG_C 2
00598
00599 #if CIF_VERSION < 3
00600 #define CIF_LG_MAX 3
00601
00602 #else
00603
00604 #define CIF_LG_CC 3
00605 #define CIF_LG_MAX 4
00606 #endif
00607
00608
00609 #define CIF_LP_DO 0
00610 #define CIF_LP_DOWHILE 1
00611 #define CIF_LP_WHILE 2
00612 #define CIF_LP_FOR 3
00613 #define CIF_LP_DO_INFINITE 4
00614 #define CIF_LP_MAX 5
00615
00616
00617 #define CIF_MEM_DEFAULT 0
00618 #define CIF_MEM_INDIV 1
00619 #define CIF_MEM_FIXED 2
00620 #define CIF_MEM_MANAGED 3
00621 #define CIF_MEM_MAX 4
00622
00623 #define CIF_MEM_KEEP 0
00624 #define CIF_MEM_FREE 1
00625
00626
00627
00628 #define CIF_F90_FORM_FIXED 0
00629 #define CIF_F90_FORM_FREE 1
00630
00631
00632 #define CIF_MC_VPOP 0x0001
00633 #define CIF_MC_EMA 0x0002
00634 #define CIF_MC_CIGS 0x0004
00635 #define CIF_MC_PCF 0x0008
00636 #define CIF_MC_READVL 0x0010
00637 #define CIF_MC_VRECUR 0x0020
00638 #define CIF_MC_NOVRECUR 0x0040
00639 #define CIF_MC_AVL 0x0080
00640 #define CIF_MC_HPF 0x0100
00641 #define CIF_MC_BDM 0x0200
00642 #define CIF_MC_SREG 0x0400
00643 #define CIF_MC_CLUSTER 0x0800
00644 #define CIF_MC_COR 0x1000
00645 #define CIF_MC_ADDR32 0x2000
00646 #define CIF_MC_BMM 0x4000
00647 #define CIF_MC_XEA 0x8000
00648
00649 #define CIF_MC_AVPOP 0x10000
00650 #define CIF_MC_FULLSECT 0x20000
00651 #define CIF_MC_IEEE 0x40000
00652 #define CIF_MC_CMRREQ 0x80000
00653 #define CIF_MC_CACHE 0x100000
00654
00655 #if CIF_VERSION == 1
00656
00657 #define CIF_MC_TAILGT 0x0001
00658 #define CIF_MC_SHAREDREG 0x0002
00659 #define CIF_MC_MEMQUIET 0x0004
00660
00661 #else
00662
00663 #define CIF_MC_TAILGT_1 0x0001
00664
00665 #define CIF_MC_FAR 0x0001
00666 #define CIF_MC_TAILGT 0x0002
00667 #define CIF_MC_CMR 0x0004
00668
00669
00670
00671 #define CIF_MC_MASK (~(CIF_MC_PCF & \
00672 CIF_MC_NOVRECUR & \
00673 CIF_MC_HPF & \
00674 CIF_MC_SREG & \
00675 CIF_MC_CLUSTER & \
00676 CIF_MC_COR & \
00677 CIF_MC_ADDR32 & \
00678 CIF_MC_BMM))
00679
00680 #endif
00681
00682
00683 #define CIF_MISCF_STACK 0
00684 #define CIF_MISCF_STATIC 1
00685 #define CIF_MISCF_HEAP 2
00686
00687 #define CIF_MISCF_INT64 0
00688 #define CIF_MISCF_INT46 1
00689
00690 #define CIF_MISCF_UNKNOWN 0
00691 #define CIF_MISCF_FAST 1
00692 #define CIF_MISCF_FULL 2
00693 #define CIF_MISCF_SREG 3
00694
00695
00696 #define CIF_MS_COMMENT 0
00697 #define CIF_MS_NOTE 1
00698 #define CIF_MS_CAUTION 2
00699 #define CIF_MS_WARNING 3
00700 #define CIF_MS_ERROR 4
00701 #define CIF_MS_INTERNAL 5
00702 #define CIF_MS_VECTOR 6
00703 #define CIF_MS_SCALAR 7
00704 #define CIF_MS_TABLE 8
00705 #define CIF_MS_ANSI 9
00706 #define CIF_MS_LOGFILE 10
00707 #define CIF_MS_INLINE 11
00708 #define CIF_MS_INFO 12
00709 #define CIF_MS_TASKING 13
00710 #define CIF_MS_LIMIT 14
00711 #define CIF_MS_LOGERROR 15
00712 #define CIF_MS_LOGSUM 16
00713 #define CIF_MS_F77_ANSI 17
00714 #define CIF_MS_OPTIMIZATION 18
00715 #define CIF_MS_STREAM 19
00716 #define CIF_MS_UNKNOWN 20
00717 #define CIF_MS_MAX 21
00718
00719 #if CIF_VERSION != 1
00720
00721 #define CIF_MS_CODE_NORMAL 0
00722 #define CIF_MS_CODE_ARGSUSED 1
00723 #define CIF_MS_CODE_EMPTY 2
00724 #define CIF_MS_CODE_FALLTHROUGH 3
00725 #define CIF_MS_CODE_NOTREACHED 4
00726 #endif
00727
00728
00729
00730 #define CIF_F_MS_COMMENT 0
00731 #define CIF_F_MS_NOTE 1
00732 #define CIF_F_MS_CAUTION 2
00733 #define CIF_F_MS_WARNING 3
00734 #define CIF_F_MS_ERROR 4
00735 #define CIF_F_MS_INTERNAL 5
00736 #define CIF_F_MS_VECTOR 6
00737 #define CIF_F_MS_SCALAR 7
00738 #define CIF_F_MS_OPT_INFO 7
00739 #define CIF_F_MS_TABLE 8
00740 #define CIF_F_MS_ANSI 9
00741 #define CIF_F_MS_LOGFILE 10
00742 #define CIF_F_MS_INLINE 11
00743 #define CIF_F_MS_INFO 12
00744 #define CIF_F_MS_TASKING 13
00745 #define CIF_F_MS_LIMIT 14
00746 #define CIF_F_MS_LOGERROR 15
00747 #define CIF_F_MS_LOGSUM 16
00748 #define CIF_F_MS_F77_ANSI 17
00749 #define CIF_F_MS_OPTIMIZATION 18
00750 #define CIF_F_MS_STREAM 19
00751 #define CIF_F_MS_UNKNOWN 20
00752 #define CIF_F_MS_MAX 21
00753
00754
00755 #define CIF_OBC_DEFINED 0x001
00756 #define CIF_OBC_DECLARED 0x002
00757 #define CIF_OBC_REFERENCED 0x004
00758 #define CIF_OBC_MODIFIED 0x008
00759 #define CIF_OBC_ADDRESS 0x010
00760 #define CIF_OBC_ARGLIST 0x020
00761 #define CIF_OBC_USEDDECL 0x040
00762 #define CIF_OBC_USEDCAST 0x080
00763 #define CIF_OBC_USEDFUNC 0x100
00764 #define CIF_OBC_MACROEXP 0x200
00765 #define CIF_OBC_MAX 9
00766
00767
00768 #define CIF_OB_DEFINED 0
00769 #define CIF_OB_USED 1
00770 #define CIF_OB_MODIFIED 2
00771 #define CIF_OB_ARGLIST 3
00772 #define CIF_OB_ASSIGN 4
00773 #define CIF_OB_BRANCH 5
00774 #define CIF_OB_FORMAT 6
00775 #define CIF_OB_DO 7
00776 #define CIF_OB_TYPEDEF 8
00777 #define CIF_OB_TYPEUSED 9
00778 #define CIF_OB_MAX 10
00779
00780 #if CIF_VERSION != 1
00781
00782
00783 #define CIF_F90_OB_DEFINED 0
00784 #define CIF_F90_OB_USED 1
00785 #define CIF_F90_OB_MODIFIED 2
00786 #define CIF_F90_OB_ARGLIST 3
00787 #define CIF_F90_OB_ASSIGN 4
00788 #define CIF_F90_OB_BRANCH 5
00789 #define CIF_F90_OB_FORMAT 6
00790 #define CIF_F90_OB_DO 7
00791 #define CIF_F90_OB_TYPEDEF 8
00792 #define CIF_F90_OB_TYPEUSED 9
00793 #define CIF_F90_OB_NAME 10
00794 #define CIF_F90_OB_DUMMY 11
00795 #define CIF_F90_OB_OPER_ARG 12
00796
00797 #define CIF_F90_OB_IND_MOD 13
00798
00799 #define CIF_F90_OB_MODIFIED_ASN 14
00800
00801
00802 #define CIF_F90_OB_MAX 15
00803
00804
00805
00806 #define CIF_RT_C 0x0001
00807 #define CIF_RT_E 0x0002
00808 #define CIF_RT_a 0x0004
00809 #define CIF_RT_b 0x0008
00810 #define CIF_RT_c 0x0010
00811
00812
00813 #define CIF_CO_A 0x0001
00814 #define CIF_CO_C 0x0002
00815 #define CIF_CO_F 0x0004
00816 #define CIF_CO_I 0x0008
00817 #define CIF_CO_M 0x0010
00818 #define CIF_CO_O 0x0020
00819 #define CIF_CO_S 0x0040
00820 #define CIF_CO_X 0x0080
00821
00822 #endif
00823
00824
00825 #define CIF_OOF_AGGRESS 0x00000001
00826 #define CIF_OOF_BLOAD 0x00000002
00827 #define CIF_OOF_INLINE 0x00000004
00828 #define CIF_OOF_LOOPALIGN 0x00000008
00829 #define CIF_OOF_RECURRENCE 0x00000010
00830 #define CIF_OOF_RECURSIVE 0x00000020
00831 #define CIF_OOF_SCALAR 0x00000040
00832 #define CIF_OOF_VECTOR 0x00000080
00833 #define CIF_OOF_VSEARCH 0x00000100
00834 #define CIF_OOF_ZEROINC 0x00000200
00835 #define CIF_OOF_KERNSCHED 0x00000400
00836 #if CIF_VERSION != 1
00837 #define CIF_OOF_TASK 0x00000800
00838 #define CIF_OOF_GENERAL 0x00001000
00839 #define CIF_OOF_OVERINDEX 0x00002000
00840 #define CIF_OOF_PATTERN 0x00004000
00841 #endif
00842
00843
00844
00845 #define CIF_SC_COMMON 1
00846 #define CIF_SC_EXPR 2
00847 #define CIF_SC_UNKNOWN 3
00848 #define CIF_SC_VARIABLE 4
00849 #define CIF_SC_FIELD 5
00850 #define CIF_SC_EQUIV 6
00851 #define CIF_SC_MAX 7
00852
00853 #if CIF_VERSION != 1
00854
00855
00856
00857
00858
00859
00860
00861
00862 #define CIF_F90_SC_ERROR 0
00863 #define CIF_F90_SC_COMMON 1
00864 #define CIF_F90_SC_EXPR 2
00865 #define CIF_F90_SC_UNKNOWN 3
00866 #define CIF_F90_SC_VARIABLE 4
00867 #define CIF_F90_SC_STRUCT 5
00868 #define CIF_F90_SC_EQUIV 6
00869 #define CIF_F90_SC_MODULE 7
00870 #define CIF_F90_SC_NAMED_CONST 8
00871 #define CIF_F90_SC_FUNC_RESULT 9
00872 #define CIF_F90_SC_MX 10
00873
00874 #endif
00875
00876
00877 #define CIF_SCC_EXTERN 0
00878 #define CIF_SCC_STATIC 1
00879 #define CIF_SCC_AUTO 2
00880 #define CIF_SCC_REGISTER 3
00881 #define CIF_SCC_FORTRAN 4
00882 #define CIF_SCC_STRMEM 6
00883 #define CIF_SCC_UNMEM 7
00884 #define CIF_SCC_ENUMMEM 8
00885 #define CIF_SCC_STRBITFLD 12
00886 #define CIF_SCC_UNBITFLD 13
00887 #define CIF_SCC_USRLAB 14
00888 #define CIF_SCC_GLBREG 16
00889 #define CIF_SCC_GLTREG 17
00890 #define CIF_SCC_EXTLM 18
00891 #define CIF_SCC_MAX 19
00892
00893
00894
00895 #define CIF_ST_AUXILIARY 1
00896 #define CIF_ST_BASED 2
00897 #define CIF_ST_DUMARG 3
00898 #define CIF_ST_POINTEE 4
00899 #define CIF_ST_STACK 5
00900 #define CIF_ST_STATIC 6
00901 #define CIF_ST_UNKNOWN 7
00902 #if CIF_VERSION == 1
00903 #define CIF_ST_MAX 8
00904 #else
00905 #define CIF_ST_BSS 6
00906 #define CIF_ST_DATA 8
00907 #define CIF_ST_MAX 9
00908 #endif
00909
00910 #if CIF_VERSION != 1
00911
00912
00913 #define CIF_F90_ST_ERROR 0
00914 #define CIF_F90_ST_AUXILIARY 1
00915 #define CIF_F90_ST_BASED 2
00916 #define CIF_F90_ST_DUMMY 3
00917 #define CIF_F90_ST_POINTEE 4
00918 #define CIF_F90_ST_STACK 5
00919 #define CIF_F90_ST_STATIC 6
00920 #define CIF_F90_ST_BSS 6
00921 #define CIF_F90_ST_NO_STORAGE 7
00922 #define CIF_F90_ST_DATA 8
00923 #define CIF_F90_ST_COMMON 9
00924 #define CIF_F90_ST_MAX 10
00925
00926
00927 #define CIF_CC_ST_ERROR 0
00928 #define CIF_CC_ST_STATIC 1
00929 #define CIF_CC_ST_AUTO 2
00930 #define CIF_CC_ST_REGISTER 3
00931 #define CIF_CC_ST_GLB_B_REG 4
00932 #define CIF_CC_ST_GLB_T_REG 5
00933 #define CIF_CC_ST_TSK_COMMON 6
00934 #define CIF_CC_ST_SOFT 7
00935 #define CIF_CC_ST_TSK_PRIVATE 8
00936
00937
00938 #define CIF_CC_SC_ERROR 0
00939 #define CIF_CC_SC_VARIABLE 1
00940 #define CIF_CC_SC_FORMAL_PARAM 2
00941 #define CIF_CC_SC_MEMBER_VAR 3
00942
00943
00944
00945 #endif
00946
00947
00948 #define CIF_TMC_UNUSED 0x0
00949 #define CIF_TMC_ARRAY 0x1
00950 #define CIF_TMC_FUNCNOPR 0x2
00951 #define CIF_TMC_FUNCPRO 0x3
00952 #define CIF_TMC_PTR 0x8
00953 #define CIF_TMC_CONPTR 0x9
00954 #define CIF_TMC_VOLPTR 0xa
00955 #define CIF_TMC_CNVLPTR 0xb
00956 #define CIF_TMC_RESPTR 0xc
00957 #define CIF_TMC_RSCNPTR 0xd
00958 #define CIF_TMC_RSVLPTR 0xe
00959 #define CIF_TMC_RSCNVLPTR 0xf
00960 #define CIF_TMC_MAX 16
00961
00962
00963 #if CIF_VERSION != 1
00964
00965 #define CIF_TMC_UNDIMENSIONED 0
00966 #endif
00967
00968
00969
00970 #define CIF_TP_ALLOCATABLE 0
00971 #define CIF_TP_ALLOCATE 1
00972 #define CIF_TP_ASSIGN 2
00973 #define CIF_TP_ASSIGNMENT 3
00974 #define CIF_TP_BACKSPACE 4
00975 #define CIF_TP_BDATA 5
00976 #define CIF_TP_BUFFER 6
00977 #define CIF_TP_CALL 7
00978 #define CIF_TP_CASE 8
00979 #define CIF_TP_CLOSE 9
00980 #define CIF_TP_COMMON 10
00981 #define CIF_TP_CONTAINS 11
00982 #define CIF_TP_CONTINUE 12
00983 #define CIF_TP_CYCLE 13
00984 #define CIF_TP_DATA 14
00985 #define CIF_TP_DEALLOCATE 15
00986 #define CIF_TP_DECODE 16
00987 #define CIF_TP_DEFAULT 17
00988 #define CIF_TP_DERIVED_TYPE 18
00989 #define CIF_TP_DIMENSION 19
00990 #define CIF_TP_DIRECTIVE 20
00991 #define CIF_TP_LABELED_DO 21
00992 #define CIF_TP_UNLABELED_DO 22
00993 #define CIF_TP_ELSE 23
00994 #define CIF_TP_ELSEIF 24
00995 #define CIF_TP_ELSEWHERE 25
00996 #define CIF_TP_ENCODE 26
00997 #define CIF_TP_END 27
00998 #define CIF_TP_ENDFILE 28
00999 #define CIF_TP_ENTRY 29
01000 #define CIF_TP_EQUIVALENCE 30
01001 #define CIF_TP_EXIT 31
01002 #define CIF_TP_EXTERNAL 32
01003 #define CIF_TP_FORMAT 33
01004 #define CIF_TP_FUNCTION 34
01005 #define CIF_TP_GOTO 35
01006 #define CIF_TP_IF 36
01007 #define CIF_TP_IFTHEN 37
01008 #define CIF_TP_IMPLICIT 38
01009 #define CIF_TP_IMPNONE 39
01010 #define CIF_TP_INQUIRE 40
01011 #define CIF_TP_INTENT 41
01012 #define CIF_TP_INTERFACE 42
01013 #define CIF_TP_INTRINSIC 43
01014 #define CIF_TP_MODULE 44
01015 #define CIF_TP_MODULE_PROC 45
01016 #define CIF_TP_NAMELIST 46
01017 #define CIF_TP_NULLIFY 47
01018 #define CIF_TP_OPEN 48
01019 #define CIF_TP_OPTIONAL 49
01020 #define CIF_TP_PARAMETER 50
01021 #define CIF_TP_PAUSE 51
01022 #define CIF_TP_POINTER 52
01023 #define CIF_TP_PRINT 53
01024 #define CIF_TP_PRIVATE 54
01025 #define CIF_TP_PROGRAM 55
01026 #define CIF_TP_PUBLIC 56
01027 #define CIF_TP_PUNCH 57
01028 #define CIF_TP_READ 58
01029 #define CIF_TP_RETURN 59
01030 #define CIF_TP_REWIND 60
01031 #define CIF_TP_SAVE 61
01032 #define CIF_TP_SELECT 62
01033 #define CIF_TP_SEQUENCE 63
01034 #define CIF_TP_STMTFUNC 64
01035 #define CIF_TP_STOP 65
01036 #define CIF_TP_SUBROUTINE 66
01037 #define CIF_TP_TARGET 67
01038 #define CIF_TP_TYPE_DECL 68
01039 #define CIF_TP_USE 69
01040 #define CIF_TP_WHERE 70
01041 #define CIF_TP_WHERE_CONST 71
01042 #define CIF_TP_WRITE 72
01043 #define CIF_TP_BUFFER_IN 73
01044 #define CIF_TP_BUFFER_OUT 74
01045 #define CIF_TP_DOWHILE 75
01046 #define CIF_TP_DO 76
01047 #define CIF_TP_ENDDO 77
01048 #define CIF_TP_ENDIF 78
01049 #define CIF_TP_INCLUDE 79
01050 #if CIF_VERSION == 1
01051 #define CIF_TP_MAX 80
01052 #else
01053 #define CIF_TP_CDIR 80
01054 #define CIF_TP_MAX 81
01055 #endif
01056
01057 #if CIF_VERSION != 1
01058
01059
01060 #define CIF_CTP_EXPRESSION 0
01061 #define CIF_CTP_COMPOUND 1
01062 #define CIF_CTP_IF 2
01063 #define CIF_CTP_ELSE 3
01064 #define CIF_CTP_WHILE 4
01065 #define CIF_CTP_DO 5
01066 #define CIF_CTP_FOR 6
01067 #define CIF_CTP_SWITCH 7
01068 #define CIF_CTP_BREAK 8
01069 #define CIF_CTP_GOTO 9
01070 #define CIF_CTP_RETURN 10
01071 #define CIF_CTP_CONTINUE 11
01072 #define CIF_CTP_NULL 12
01073 #define CIF_CTP_PRAGMA 13
01074 #define CIF_CTP_ASSIGNMENT 14
01075 #define CIF_CTP_END_COMPOUND 15
01076 #define CIF_CTP_EXPR_END 16
01077 #define CIF_CTP_DO_WHILE_END 17
01078 #define CIF_CTP_RETURN_WITH_EXPR 18
01079 #define CIF_CTP_CASE 19
01080 #define CIF_CTP_LABEL 20
01081 #define CIF_CTP_TRY 21
01082 #define CIF_CTP_ASM 22
01083 #define CIF_CTP_MAX 23
01084
01085
01086
01087
01088
01089
01090
01091
01092
01093
01094 #define CIF_F90_TP_ALLOCATABLE 0
01095 #define CIF_F90_TP_ALLOCATE 1
01096 #define CIF_F90_TP_ASSIGN 2
01097 #define CIF_F90_TP_ASSIGNMENT 3
01098 #define CIF_F90_TP_BACKSPACE 4
01099 #define CIF_F90_TP_BDATA 5
01100
01101 #define CIF_F90_TP_CALL 7
01102 #define CIF_F90_TP_CASE 8
01103 #define CIF_F90_TP_CLOSE 9
01104 #define CIF_F90_TP_COMMON 10
01105 #define CIF_F90_TP_CONTAINS 11
01106 #define CIF_F90_TP_CONTINUE 12
01107 #define CIF_F90_TP_CYCLE 13
01108 #define CIF_F90_TP_DATA 14
01109 #define CIF_F90_TP_DEALLOCATE 15
01110 #define CIF_F90_TP_DECODE 16
01111 #define CIF_F90_TP_CASE_DEFAULT 17
01112 #define CIF_F90_TP_TYPE 18
01113 #define CIF_F90_TP_DIMENSION 19
01114 #define CIF_F90_TP_DIRECTIVE 20
01115
01116 #define CIF_F90_TP_ELSE 23
01117 #define CIF_F90_TP_ELSEIF 24
01118 #define CIF_F90_TP_ELSEWHERE 25
01119 #define CIF_F90_TP_ENCODE 26
01120
01121 #define CIF_F90_TP_ENDFILE 28
01122 #define CIF_F90_TP_ENTRY 29
01123 #define CIF_F90_TP_EQUIVALENCE 30
01124 #define CIF_F90_TP_EXIT 31
01125 #define CIF_F90_TP_EXTERNAL 32
01126 #define CIF_F90_TP_FORMAT 33
01127 #define CIF_F90_TP_FUNCTION 34
01128
01129 #define CIF_F90_TP_IF 37
01130 #define CIF_F90_TP_IMPLICIT 38
01131 #define CIF_F90_TP_IMPLICIT_NONE 39
01132 #define CIF_F90_TP_INQUIRE 40
01133
01134 #define CIF_F90_TP_INTRINSIC 43
01135 #define CIF_F90_TP_MODULE 44
01136 #define CIF_F90_TP_MODULE_PROC 45
01137 #define CIF_F90_TP_NAMELIST 46
01138 #define CIF_F90_TP_NULLIFY 47
01139 #define CIF_F90_TP_OPEN 48
01140 #define CIF_F90_TP_OPTIONAL 49
01141 #define CIF_F90_TP_PARAMETER 50
01142 #define CIF_F90_TP_PAUSE 51
01143 #define CIF_F90_TP_POINTER 52
01144 #define CIF_F90_TP_PRINT 53
01145 #define CIF_F90_TP_PRIVATE 54
01146 #define CIF_F90_TP_PROGRAM 55
01147 #define CIF_F90_TP_PUBLIC 56
01148
01149 #define CIF_F90_TP_READ 58
01150 #define CIF_F90_TP_RETURN 59
01151 #define CIF_F90_TP_REWIND 60
01152 #define CIF_F90_TP_SAVE 61
01153 #define CIF_F90_TP_SELECT_CASE 62
01154 #define CIF_F90_TP_SEQUENCE 63
01155 #define CIF_F90_TP_STMTFUNC 64
01156 #define CIF_F90_TP_STOP 65
01157 #define CIF_F90_TP_SUBROUTINE 66
01158 #define CIF_F90_TP_TARGET 67
01159 #define CIF_F90_TP_TYPE_DECL 68
01160 #define CIF_F90_TP_USE 69
01161 #define CIF_F90_TP_WHERE 70
01162 #define CIF_F90_TP_WHERE_CONST 71
01163 #define CIF_F90_TP_WRITE 72
01164 #define CIF_F90_TP_BUFFER_IN 73
01165 #define CIF_F90_TP_BUFFER_OUT 74
01166
01167 #define CIF_F90_TP_END_DO 77
01168 #define CIF_F90_TP_END_IF 78
01169 #define CIF_F90_TP_INCLUDE 79
01170 #define CIF_F90_TP_CDIR 80
01171
01172 #define CIF_F90_TP_ARRAY_ASSIGNMENT 81
01173 #define CIF_F90_TP_POINTER_ASGN 82
01174
01175 #define CIF_F90_TP_LABELED_DO_INFINITE 100
01176 #define CIF_F90_TP_UNLABELED_DO_INFINITE 101
01177 #define CIF_F90_TP_LABELED_DO_ITERATIVE 102
01178 #define CIF_F90_TP_UNLABELED_DO_ITERATIVE 103
01179 #define CIF_F90_TP_LABELED_DO_WHILE 104
01180 #define CIF_F90_TP_UNLABELED_DO_WHILE 105
01181 #define CIF_F90_TP_END_BDATA 106
01182 #define CIF_F90_TP_END_FUNCTION 107
01183 #define CIF_F90_TP_END_INTERFACE 108
01184 #define CIF_F90_TP_END_MODULE 109
01185 #define CIF_F90_TP_END_PROGRAM 110
01186 #define CIF_F90_TP_END_SELECT 111
01187 #define CIF_F90_TP_END_SUBROUTINE 112
01188 #define CIF_F90_TP_END_TYPE 113
01189 #define CIF_F90_TP_END_WHERE 114
01190 #define CIF_F90_TP_GOTO 115
01191 #define CIF_F90_TP_GOTO_ASSIGNED 116
01192 #define CIF_F90_TP_GOTO_COMPUTED 117
01193 #define CIF_F90_TP_IF_LOGICAL 118
01194 #define CIF_F90_TP_IF_ARITHMETIC 119
01195 #define CIF_F90_TP_IF_IND_LOG 120
01196 #define CIF_F90_TP_IF_TWO_BRANCH_ARITHMETIC 121
01197 #define CIF_F90_TP_INTENT_IN 122
01198 #define CIF_F90_TP_INTENT_OUT 123
01199 #define CIF_F90_TP_INTENT_INOUT 124
01200 #define CIF_F90_TP_INTERFACE 125
01201 #define CIF_F90_TP_INTERFACE_GENERIC 126
01202 #define CIF_F90_TP_INTERFACE_OPERATOR 127
01203 #define CIF_F90_TP_INTERFACE_ASSIGNMENT 128
01204 #define CIF_F90_TP_TASK_COMMON 129
01205 #define CIF_F90_TP_AUTOMATIC 130
01206 #define CIF_F90_TP_ELEMENTAL 131
01207 #define CIF_F90_TP_PURE 132
01208 #define CIF_F90_TP_FORALL 133
01209 #define CIF_F90_TP_FORALL_CONSTRUCT 134
01210 #define CIF_F90_TP_END_FORALL 135
01211 #define CIF_F90_TP_MAX 136
01212
01213
01214
01215
01216
01217 #define CIF_SCP_MAIN 0
01218 #define CIF_SCP_EXTERNAL 1
01219 #define CIF_SCP_BLOCK 2
01220 #define CIF_SCP_MOD_SUB 3
01221 #define CIF_SCP_MODULE 4
01222 #define CIF_SCP_INTERNAL 5
01223 #define CIF_SCP_INTERFACE 6
01224 #define CIF_SCP_INT_BLOCK 7
01225 #define CIF_SCP_C_FILE 8
01226 #define CIF_SCP_C_BLOCK 9
01227
01228
01229
01230 #define CIF_IB_SPECIFIC 1
01231 #define CIF_IB_GENERIC 2
01232 #define CIF_IB_OPERATOR 3
01233 #define CIF_IB_ASSIGNMENT 4
01234
01235
01236
01237 #define CIF_DRT_SEQUENCE 0x1
01238 #define CIF_DRT_PRIVATE 0x2
01239 #define CIF_DRT_COMP_PRIVATE 0x4
01240
01241
01242
01243 #define CIF_BE_TIMING 0
01244 #define CIF_BE_LOOP 1
01245 #define CIF_BE_BTE 2
01246 #define CIF_BE_OTHER 3
01247
01248
01249 #define CIF_TT_WORK 0
01250 #define CIF_TT_CALL 1
01251 #define CIF_TT_MEM 2
01252 #define CIF_TT_PFQ 3
01253 #define CIF_TT_BTE 4
01254 #define CIF_TT_BARRIER 5
01255 #define CIF_TT_CRIT 6
01256 #define CIF_TT_ATOMIC 7
01257 #define CIF_TT_LOOPS 8
01258 #define CIF_TT_LOOPD 9
01259 #define CIF_TT_LOOPT 10
01260 #define CIF_TT_ENTRY 11
01261
01262
01263 #define CIF_BE_BRANCH 1
01264 #define CIF_BE_COND_BR 2
01265 #define CIF_BE_PAL 3
01266 #define CIF_BE_RET 4
01267 #define CIF_BE_S2PC 5
01268
01269
01270
01271 #define CIF_IT_FADD 0
01272 #define CIF_IT_FMUL 1
01273 #define CIF_IT_FDIV_S 2
01274 #define CIF_IT_FDIV_T 3
01275 #define CIF_IT_IADD 4
01276 #define CIF_IT_IMUL 5
01277 #define CIF_IT_IDIV 6
01278 #define CIF_IT_LOAD 7
01279 #define CIF_IT_STORE 8
01280 #define CIF_IT_LOAD_LS 9
01281 #define CIF_IT_STORE_LS 10
01282 #define CIF_IT_LOAD_R 11
01283 #define CIF_IT_STORE_R 12
01284 #define CIF_IT_OTHER 13
01285 #define CIF_IT_MAX 14
01286
01287
01288 #define CIF_SRC_KIND_MAIN 1
01289 #define CIF_SRC_KIND_INCLUDE 2
01290 #define CIF_SRC_KIND_MACRO 3
01291 #define CIF_SRC_KIND_INLINE 4
01292 #define CIF_SRC_KIND_TAIL 5
01293
01294
01295 #endif
01296
01297
01298 #define CIF_TQC_CONST 0x1
01299 #define CIF_TQC_VOL 0x2
01300 #define CIF_TQC_RESTR 0x4
01301 #define CIF_TQC_MAX 5
01302
01303
01304
01305
01306
01307
01308
01309
01310 #define CIF_ER_100 -1
01311 #define CIF_ER_INTERNAL -2
01312 #define CIF_ER_OTHER -3
01313
01314
01315
01316
01317
01318
01319
01320
01321
01322
01323
01324
01325
01326 struct Cif_generic {
01327 FIELD rectype:8;
01328 };
01329
01330
01331 struct Cif_tmod {
01332 FIELD val:32;
01333 FIELD mod:8;
01334 };
01335 #define TMOD_SSIZE 5
01336
01337
01338 struct Cif_c_const {
01339 FIELD rectype:8;
01340 FIELD symid:24;
01341 FIELD vlen:24;
01342 FIELD btype:8;
01343 char *value;
01344 };
01345 #define CCONST_SSIZE 8
01346
01347
01348
01349 #if CIF_VERSION == 1
01350
01351 struct Cif_c_entry {
01352 FIELD rectype:8;
01353 FIELD ptype:2;
01354 FIELD symclass:2;
01355 FIELD retvalue:2;
01356
01357 FIELD varargs:2;
01358
01359
01360
01361 FIELD scope:8;
01362 FIELD nlen:8;
01363 FIELD symid:24;
01364 FIELD nargs:8;
01365 FIELD nmods:4;
01366 FIELD qual:4;
01367 FIELD btype:8;
01368 struct Cif_tmod *mods;
01369 long *argids;
01370 char *name;
01371 };
01372
01373 #define CENTRY_SSIZE 10
01374
01375 #else
01376
01377 struct Cif_c_entry {
01378 FIELD rectype:8;
01379 FIELD ptype:2;
01380 FIELD symclass:6;
01381 FIELD retvalue:4;
01382
01383 FIELD varargs:4;
01384 FIELD scope:8;
01385 FIELD nlen:8;
01386 FIELD symid:24;
01387 FIELD nargs:8;
01388 FIELD tagid:24;
01389
01390 FIELD nmods:4;
01391 FIELD qual:4;
01392 FIELD btype:8;
01393 FIELD un:16;
01394 FIELD link:24;
01395 struct Cif_tmod *mods;
01396 long *argids;
01397 char *name;
01398 };
01399
01400 #define CENTRY_SSIZE_2 15
01401
01402
01403
01404 #define CENTRY_SSIZE 19
01405
01406
01407
01408 struct Cif_c_entry_1 {
01409 FIELD rectype:8;
01410 FIELD ptype:2;
01411 FIELD symclass:2;
01412 FIELD retvalue:2;
01413
01414 FIELD varargs:2;
01415 FIELD scope:8;
01416 FIELD nlen:8;
01417 FIELD symid:24;
01418 FIELD nargs:8;
01419 FIELD nmods:4;
01420 FIELD qual:4;
01421 FIELD btype:8;
01422 struct Cif_tmod *mods;
01423 long *argids;
01424 char *name;
01425 };
01426
01427 #define CENTRY_SSIZE_1 10
01428
01429 #endif
01430
01431
01432
01433
01434
01435 #if CIF_VERSION != 1
01436
01437 struct Cif_c_lint_directive {
01438 FIELD rectype:8;
01439 FIELD fid:24;
01440 FIELD nlen:8;
01441 FIELD objid:24;
01442 FIELD val:16;
01443 FIELD strpos:16;
01444 FIELD strline:24;
01445 FIELD un1:8;
01446 FIELD endline:24;
01447 FIELD un2:8;
01448 FIELD endpos:16;
01449 char *name;
01450 };
01451 #define CLINT_DIRECTIVE_SSIZE 22
01452
01453
01454 struct Cif_c_entry_end {
01455 FIELD rectype:8;
01456 FIELD symid:24;
01457 FIELD strline:24;
01458 FIELD nlen:8;
01459 FIELD endline:24;
01460 FIELD un1:8;
01461 FIELD fid:16;
01462 char *name;
01463 };
01464 #define CENTRY_END_SSIZE 14
01465
01466
01467 struct Cif_c_macro_def {
01468 FIELD rectype:8;
01469 FIELD symid:24;
01470 FIELD nlen:8;
01471 FIELD strline:24;
01472 FIELD fid:16;
01473 FIELD strpos:16;
01474 FIELD endline:24;
01475 FIELD un1:8;
01476 FIELD endpos:16;
01477 char *name;
01478 };
01479 #define CMACRO_DEF_SSIZE 18
01480
01481
01482 struct Cif_c_macro_undef {
01483 FIELD rectype:8;
01484 FIELD symid:24;
01485 FIELD fid:16;
01486 FIELD cpos:16;
01487 FIELD line:24;
01488 };
01489 #define CMACRO_UNDEF_SSIZE 11
01490
01491
01492 struct Cif_c_macro_usage {
01493 FIELD rectype:8;
01494 FIELD useid:24;
01495 FIELD symid:24;
01496 FIELD un1:8;
01497 FIELD fid:16;
01498 FIELD strpos:16;
01499 FIELD strline:24;
01500 FIELD un2:8;
01501 FIELD endline:24;
01502 FIELD un3:8;
01503 FIELD endpos:16;
01504 };
01505 #define CMACRO_USAGE_SSIZE 22
01506
01507 #endif
01508
01509
01510
01511
01512 #if CIF_VERSION == 1
01513 struct Cif_c_message {
01514 FIELD rectype:8;
01515 FIELD fline:24;
01516 FIELD msgno:16;
01517 FIELD fid:16;
01518 FIELD flinesuf:8;
01519 FIELD severity:8;
01520 FIELD incid:16;
01521 FIELD iline:24;
01522 FIELD nargs:8;
01523 char **args;
01524 };
01525 #define CMESSAGE_SSIZE 16
01526
01527 #else
01528
01529 struct Cif_c_message {
01530 FIELD rectype:8;
01531 FIELD fline:24;
01532 FIELD msgno:16;
01533 FIELD fid:16;
01534 FIELD flinesuf:8;
01535 FIELD severity:8;
01536 FIELD incid:16;
01537 FIELD iline:24;
01538 FIELD nargs:8;
01539 FIELD msgcode:8;
01540 char **args;
01541 };
01542 #define CMESSAGE_SSIZE 17
01543
01544
01545
01546
01547 struct Cif_c_message_1 {
01548 FIELD rectype:8;
01549 FIELD fline:24;
01550 FIELD msgno:16;
01551 FIELD fid:16;
01552 FIELD flinesuf:8;
01553 FIELD severity:8;
01554 FIELD incid:16;
01555 FIELD iline:24;
01556 FIELD nargs:8;
01557 char **args;
01558 };
01559 #define CMESSAGE_SSIZE_1 16
01560
01561 #endif
01562
01563
01564
01565 #if CIF_VERSION == 1
01566 struct Cif_c_object {
01567 FIELD rectype:8;
01568 FIELD symid:24;
01569 FIELD psymid:24;
01570 FIELD nlen:8;
01571 FIELD tagid:24;
01572 FIELD scope:8;
01573 FIELD size:6;
01574 FIELD symclass:6;
01575 FIELD entity:4;
01576 FIELD nmods:4;
01577 FIELD qual:4;
01578 FIELD btype:8;
01579 struct Cif_tmod *mods;
01580 char *name;
01581 };
01582 #define COBJECT_SSIZE 16
01583
01584 #else
01585
01586 struct Cif_c_object {
01587 FIELD rectype:8;
01588 FIELD symid:24;
01589 FIELD psymid:24;
01590 FIELD nlen:8;
01591 FIELD tagid:24;
01592 FIELD scope:8;
01593 FIELD size:6;
01594 FIELD symclass:6;
01595 FIELD entity:4;
01596 FIELD nmods:4;
01597 FIELD qual:4;
01598 FIELD btype:8;
01599 FIELD link:24;
01600 struct Cif_tmod *mods;
01601 char *name;
01602 };
01603 #define COBJECT_SSIZE 19
01604
01605
01606
01607
01608 struct Cif_c_object_1 {
01609 FIELD rectype:8;
01610 FIELD symid:24;
01611 FIELD psymid:24;
01612 FIELD nlen:8;
01613 FIELD tagid:24;
01614 FIELD scope:8;
01615 FIELD size:6;
01616 FIELD symclass:6;
01617 FIELD entity:4;
01618 FIELD nmods:4;
01619 FIELD qual:4;
01620 FIELD btype:8;
01621 struct Cif_tmod *mods;
01622 char *name;
01623 };
01624 #define COBJECT_SSIZE_1 16
01625
01626 #endif
01627
01628
01629 struct Cif_c_opts {
01630 FIELD rectype:8;
01631 FIELD msglev:8;
01632 FIELD truncval:8;
01633 FIELD debug:8;
01634 FIELD atsklev:2;
01635 FIELD inlnlev:2;
01636 FIELD sclrlev:2;
01637 FIELD vctrlev:2;
01638 FIELD nincs:8;
01639 FIELD ndefs:8;
01640 FIELD nudefs:8;
01641 char report[8];
01642 char bopts[16];
01643 FIELD nlen:8;
01644 char *name;
01645 char **incs;
01646 char **defs;
01647 char **udefs;
01648 };
01649 #define COPTS_SSIZE 33
01650
01651
01652 struct Cif_c_tag {
01653 FIELD rectype:8;
01654 FIELD tagid:24;
01655 FIELD size:32;
01656 FIELD nmems:16;
01657 FIELD entity:4;
01658 FIELD un1:4;
01659 FIELD nlen:8;
01660 FIELD nmods:4;
01661 FIELD qual:4;
01662 FIELD btype:8;
01663 struct Cif_tmod *mods;
01664 long *memids;
01665 char *name;
01666 };
01667 #define CTAG_SSIZE 14
01668
01669
01670 struct Cif_callsite {
01671 FIELD rectype:8;
01672 FIELD line:24;
01673 FIELD cpos:16;
01674 FIELD nargs:16;
01675 FIELD entryid:24;
01676 FIELD valused:1;
01677 FIELD un1:7;
01678 FIELD fid:16;
01679 struct Cif_callsite *link;
01680 long *argids;
01681 };
01682 #define CALLSITE_SSIZE 14
01683
01684
01685 struct Cif_cifhdr {
01686 FIELD rectype:8;
01687 FIELD version:8;
01688 FIELD bintype:2;
01689 FIELD lang:6;
01690 FIELD form:1;
01691 FIELD canpos:1;
01692 FIELD posinfo:1;
01693 FIELD cont_id:1;
01694 FIELD srcfid:4;
01695 FIELD msgfid:16;
01696 char cvers[16];
01697 char date[16];
01698 char time[16];
01699 char group[7];
01700 char hostcpu[9];
01701 char machname[16];
01702 };
01703 #define CIFHDR_SSIZE sizeof(struct Cif_cifhdr)
01704
01705 #if CIF_VERSION == 1
01706
01707
01708 struct Cif_comblk {
01709 FIELD rectype:8;
01710 FIELD symid:24;
01711 FIELD length:32;
01712 FIELD cbtype:8;
01713 FIELD nlen:8;
01714 char *name;
01715 };
01716 #define COMBLK_SSIZE 10
01717
01718 #else
01719
01720 struct Cif_comblk {
01721 FIELD rectype:8;
01722 FIELD symid:24;
01723 FIELD length:32;
01724 FIELD cbtype:8;
01725 FIELD nlen:8;
01726 FIELD dist:4;
01727 FIELD un1:4;
01728 char *name;
01729 };
01730 #define COMBLK_SSIZE 11
01731
01732
01733
01734
01735 struct Cif_comblk_1 {
01736 FIELD rectype:8;
01737 FIELD symid:24;
01738 FIELD length:32;
01739 FIELD cbtype:8;
01740 FIELD nlen:8;
01741 char *name;
01742 };
01743 #define COMBLK_SSIZE_1 10
01744
01745
01746 #endif
01747
01748 #if CIF_VERSION == 1
01749
01750
01751 struct Cif_const {
01752 FIELD rectype:8;
01753 FIELD dtype:8;
01754 FIELD nvalues:8;
01755 FIELD imptype:1;
01756 FIELD un1:7;
01757 FIELD nlen:8;
01758 FIELD symid:24;
01759 FIELD vlen:24;
01760 char *value;
01761 char *name;
01762 };
01763 #define CONST_SSIZE 11
01764
01765 #else
01766
01767
01768 struct Cif_const {
01769 FIELD rectype:8;
01770 FIELD dtype:8;
01771 FIELD nvalues:8;
01772 FIELD imptype:1;
01773 FIELD origform:1;
01774 FIELD un1:6;
01775 FIELD nlen:8;
01776 FIELD symid:24;
01777 FIELD vlen:24;
01778 FIELD un2:8;
01779 FIELD olen:24;
01780 char *value;
01781 char *oform;
01782 char *name;
01783 };
01784 #define CONST_SSIZE 15
01785
01786 struct Cif_const_1 {
01787 FIELD rectype:8;
01788 FIELD dtype:8;
01789 FIELD nvalues:8;
01790 FIELD imptype:1;
01791 FIELD un1:7;
01792 FIELD nlen:8;
01793 FIELD symid:24;
01794 FIELD vlen:24;
01795 char *value;
01796 char *name;
01797 };
01798 #define CONST_SSIZE_1 11
01799
01800 #endif
01801
01802
01803 #if CIF_VERSION != 1
01804
01805 struct Cif_cdir {
01806 FIELD rectype:8;
01807 FIELD line:24;
01808 FIELD fid:16;
01809 FIELD cpos:16;
01810 FIELD type:8;
01811 FIELD nids:16;
01812 long *ids;
01813 };
01814 #define CDIR_SSIZE 11
01815
01816
01817
01818 struct Cif_cdir_doshared {
01819 FIELD rectype:8;
01820 FIELD line:24;
01821 FIELD type:8;
01822 FIELD random:1;
01823 FIELD mexpr:1;
01824 FIELD un1:6;
01825 FIELD fid:16;
01826 FIELD cpos:16;
01827 FIELD mfid:16;
01828 FIELD mcpos:16;
01829 FIELD nids:16;
01830 FIELD mline:24;
01831 FIELD un2:8;
01832 FIELD m:32;
01833 long *ids;
01834 };
01835 #define CDIR_DOSHARED_SSIZE 24
01836
01837
01838
01839 struct Cif_geometry_dim {
01840 FIELD dist:8;
01841 FIELD wline:24;
01842 FIELD weight:16;
01843 FIELD wfid:16;
01844 FIELD wcpos:16;
01845 FIELD bfid:16;
01846 FIELD bsize:24;
01847 FIELD btype:1;
01848 FIELD wtype:1;
01849 FIELD un1:6;
01850 FIELD bline:24;
01851 FIELD un2:8;
01852 FIELD bcpos:16;
01853 };
01854 #define GEOM_SSIZE 22
01855
01856 struct Cif_geometry {
01857 FIELD rectype:8;
01858 FIELD geomid:24;
01859 FIELD ndims:8;
01860 FIELD nlen:24;
01861 struct Cif_geometry_dim *dim;
01862 char *name;
01863 };
01864 #define GEOMETRY_SSIZE 8
01865
01866
01867
01868 struct Cif_continuation {
01869 FIELD rectype:8;
01870 FIELD line:24;
01871 FIELD fid:16;
01872 FIELD cpos:16;
01873 FIELD type:1;
01874 FIELD un1:7;
01875 };
01876 #define CONTINUATION_SSIZE 9
01877
01878
01879 #endif
01880
01881
01882
01883
01884 struct Cif_edopts {
01885 FIELD rectype:8;
01886 long opts;
01887 };
01888 #define EDOPTS_SSIZE sizeof(struct Cif_edopts)
01889
01890
01891 struct Cif_entry {
01892 FIELD rectype:8;
01893 FIELD etype:8;
01894 FIELD dtype:8;
01895 FIELD nlen:8;
01896 FIELD valargs:1;
01897 FIELD recur:1;
01898 FIELD stmtfunc:1;
01899 FIELD extrn:1;
01900 FIELD intrin:1;
01901 FIELD un2:2;
01902 FIELD imptype:1;
01903 FIELD symid:24;
01904 FIELD charlen:24;
01905 FIELD nargs:8;
01906 long *argids;
01907 char *name;
01908 };
01909 #define ENTRY_SSIZE 13
01910
01911
01912
01913 #if CIF_VERSION == 3
01914
01915 struct Cif_file {
01916 FIELD rectype:8;
01917 FIELD nlen:8;
01918 FIELD fid:16;
01919 FIELD onlen:8;
01920 char *name;
01921 char *oname;
01922 };
01923 #define FILE_SSIZE 5
01924
01925 struct Cif_file_1 {
01926 FIELD rectype:8;
01927 FIELD nlen:8;
01928 FIELD fid:16;
01929 char *name;
01930 };
01931 #define FILE_SSIZE_1 4
01932
01933 #else
01934
01935 struct Cif_file {
01936 FIELD rectype:8;
01937 FIELD nlen:8;
01938 FIELD fid:16;
01939 char *name;
01940 };
01941 #define FILE_SSIZE 4
01942
01943 #endif
01944
01945
01946 struct Cif_unittbl {
01947 FIELD unitpos:32;
01948 FIELD nlen:8;
01949 char *name;
01950 };
01951 #define UNITTBL_SSIZE 5
01952
01953 struct Cif_filedir {
01954 FIELD rectype:8;
01955 FIELD maxfid:24;
01956 FIELD nunits:16;
01957 FIELD nfiles:16;
01958 FIELD maxsid:24;
01959 FIELD un1:8;
01960 FIELD nincs:16;
01961 struct Cif_unittbl *ut;
01962 };
01963 #define FILEDIR_SSIZE 14
01964
01965
01966 struct Cif_include {
01967 FIELD rectype:8;
01968 FIELD line:24;
01969 FIELD cpos:16;
01970 FIELD srcid:16;
01971 FIELD incid:16;
01972 };
01973 #define INCLUDE_SSIZE 10
01974
01975
01976 struct Cif_label {
01977 FIELD rectype:8;
01978 FIELD symid:24;
01979 FIELD ltype:8;
01980 FIELD nlen:8;
01981 char *name;
01982 };
01983 #define LABEL_SSIZE 6
01984
01985
01986 struct Cif_loop {
01987 FIELD rectype:8;
01988 FIELD strline:24;
01989 FIELD lptype:8;
01990 FIELD endline:24;
01991 FIELD strcpos:16;
01992 FIELD endcpos:16;
01993 FIELD sfid:16;
01994 FIELD efid:16;
01995 FIELD symid:24;
01996 FIELD un1:8;
01997 FIELD labelid:24;
01998 };
01999 #define LOOP_SSIZE 23
02000
02001 #if CIF_VERSION == 1
02002
02003
02004 struct Cif_mach_char {
02005 FIELD rectype:8;
02006 int memspeed;
02007 long memsize;
02008 long valmask;
02009 char cpuname[16];
02010 };
02011 #define MACH_CHAR_SSIZE sizeof(struct Cif_mach_char)
02012
02013 #else
02014
02015
02016 struct Cif_mach_char {
02017 FIELD rectype:8;
02018 FIELD memspeed:24;
02019 FIELD memsize:32;
02020 FIELD valmask:32;
02021 char cpuname[15];
02022 FIELD tbitlen:8;
02023 FIELD numbanks:16;
02024 FIELD numcpus:16;
02025 FIELD instbufsize:32;
02026 FIELD clockperiod:16;
02027 FIELD numclregs:16;
02028 FIELD bankbusytime:16;
02029 };
02030 #define MACH_CHAR_SSIZE 42
02031
02032 struct Cif_mach_char_1 {
02033 FIELD rectype:8;
02034 int memspeed;
02035 long memsize;
02036 long valmask;
02037 char cpuname[16];
02038 };
02039 #define MACH_CHAR_SSIZE_1 sizeof(struct Cif_mach_char_1)
02040
02041
02042
02043 #endif
02044
02045 #if CIF_VERSION < 3
02046
02047
02048 struct Cif_message {
02049 FIELD rectype:8;
02050 FIELD fline:24;
02051 FIELD severity:8;
02052 FIELD uline:24;
02053 FIELD msgno:16;
02054 FIELD cpos:16;
02055 FIELD nargs:8;
02056 FIELD fid:16;
02057 char **args;
02058 };
02059 #define MESSAGE_SSIZE 15
02060
02061 #else
02062
02063
02064 struct Cif_message {
02065 FIELD rectype:8;
02066 FIELD fline:24;
02067 FIELD severity:8;
02068 FIELD uline:24;
02069 FIELD msgno:16;
02070 FIELD cpos:16;
02071 FIELD nargs:8;
02072 FIELD fid:16;
02073 FIELD nlen:8;
02074 FIELD order:8;
02075 FIELD flags:8;
02076 FIELD un1:16;
02077 FIELD pfid:24;
02078
02079 char **args;
02080 char *name;
02081 };
02082 #define MESSAGE_SSIZE 23
02083
02084
02085 struct Cif_message_1 {
02086 FIELD rectype:8;
02087 FIELD fline:24;
02088 FIELD severity:8;
02089 FIELD uline:24;
02090 FIELD msgno:16;
02091 FIELD cpos:16;
02092 FIELD nargs:8;
02093 FIELD fid:16;
02094 char **args;
02095 };
02096 #define MESSAGE_SSIZE_1 15
02097
02098 #endif
02099
02100 #if CIF_VERSION == 1
02101
02102
02103 struct Cif_misc_opts {
02104 FIELD rectype:8;
02105 FIELD malloc:4;
02106 FIELD intlen:4;
02107 FIELD msglvl:4;
02108 FIELD vopt:4;
02109 FIELD amode:4;
02110 FIELD trunc:4;
02111 FIELD truncval:8;
02112 FIELD nmsgs:8;
02113 FIELD ncdirs:8;
02114 FIELD onlen:8;
02115 FIELD cnlen:8;
02116 FIELD inlen:8;
02117 long *msgno;
02118 char **cdirs;
02119 char *objname;
02120 char *calname;
02121 char *inname;
02122 };
02123 #define MISC_OPTS_SSIZE 10
02124
02125 #else
02126
02127
02128 struct Cif_misc_opts {
02129 FIELD rectype:8;
02130 FIELD malloc:4;
02131 FIELD intlen:4;
02132 FIELD msglvl:4;
02133 FIELD vopt:4;
02134 FIELD amode:4;
02135 FIELD trunc:4;
02136 FIELD truncval:8;
02137 FIELD nmsgs:8;
02138 FIELD ncdirs:8;
02139 FIELD onlen:8;
02140 FIELD cnlen:8;
02141 FIELD inlen:8;
02142 FIELD llen:8;
02143 #ifdef CRAY
02144
02145
02146
02147
02148
02149
02150
02151
02152
02153 FIELD cifopt:16;
02154 FIELD inputlen:8;
02155 #else
02156 FIELD inputlen:8;
02157 FIELD cifopt:16;
02158 #endif
02159 FIELD runtime:8;
02160 FIELD numincs:8;
02161 long *msgno;
02162 char **cdirs;
02163 char *objname;
02164 char *calname;
02165 char *inname;
02166 char *lname;
02167 char **incdirs;
02168 };
02169 #define MISC_OPTS_SSIZE 16
02170
02171 struct Cif_misc_opts_1 {
02172 FIELD rectype:8;
02173 FIELD malloc:4;
02174 FIELD intlen:4;
02175 FIELD msglvl:4;
02176 FIELD vopt:4;
02177 FIELD amode:4;
02178 FIELD trunc:4;
02179 FIELD truncval:8;
02180 FIELD nmsgs:8;
02181 FIELD ncdirs:8;
02182 FIELD onlen:8;
02183 FIELD cnlen:8;
02184 FIELD inlen:8;
02185 long *msgno;
02186 char **cdirs;
02187 char *objname;
02188 char *calname;
02189 char *inname;
02190 };
02191 #define MISC_OPTS_SSIZE_1 10
02192
02193 #endif
02194
02195
02196 struct Cif_namelist {
02197 FIELD rectype:8;
02198 FIELD symid:24;
02199 FIELD nids:16;
02200 FIELD nlen:8;
02201 char *name;
02202 long *ids;
02203 };
02204 #define NAMELIST_SSIZE 7
02205
02206
02207 struct Cif_nd_msg {
02208 FIELD rectype:8;
02209 FIELD fline:24;
02210 FIELD severity:8;
02211 FIELD uline:24;
02212 FIELD msgno:16;
02213 FIELD cpos:16;
02214 FIELD fid:16;
02215 FIELD msgfid:16;
02216 char group[16];
02217 FIELD nargs:8;
02218 char **args;
02219 };
02220 #define ND_MSG_SSIZE 33
02221
02222
02223
02224 struct Cif_dim {
02225 int lower;
02226 int upper;
02227 FIELD ltype:8;
02228 FIELD utype:8;
02229 };
02230 #define DIM_SSIZE sizeof(struct Cif_dim)
02231
02232 #if CIF_VERSION == 1
02233
02234 struct Cif_object {
02235 FIELD rectype:8;
02236 FIELD storage:24;
02237 FIELD class:8;
02238 FIELD symid:24;
02239 FIELD dtype:8;
02240 FIELD charlen:24;
02241 FIELD offset:32;
02242 FIELD nlen:8;
02243 FIELD ndims:3;
02244 FIELD aarray:1;
02245 FIELD equiv:1;
02246 FIELD data:1;
02247 FIELD save:1;
02248 FIELD imptype:1;
02249 FIELD valoffset:1;
02250 FIELD cltype:1;
02251 FIELD un1:6;
02252 char *name;
02253 struct Cif_dim *dim;
02254 };
02255 #define OBJECT_SSIZE 19
02256
02257 #else
02258
02259 struct Cif_object {
02260 FIELD rectype:8;
02261 FIELD storage:24;
02262 FIELD symclass:8;
02263 FIELD symid:24;
02264 FIELD dtype:8;
02265 FIELD charlen:24;
02266 FIELD offset:32;
02267 FIELD nlen:8;
02268 FIELD ndims:3;
02269 FIELD aarray:1;
02270 FIELD equiv:1;
02271 FIELD data:1;
02272 FIELD save:1;
02273 FIELD imptype:1;
02274 FIELD valoffset:1;
02275 FIELD cltype:1;
02276 FIELD peresident:1;
02277 FIELD pointee:1;
02278 FIELD arraydec:1;
02279 FIELD geomdec:1;
02280 FIELD un1:6;
02281 FIELD dist:4;
02282 FIELD geomid:24;
02283 FIELD un2:8;
02284 FIELD pointer:24;
02285 char *name;
02286 struct Cif_dim *dim;
02287 };
02288 #define OBJECT_SSIZE 27
02289
02290
02291
02292
02293 struct Cif_object_1 {
02294 FIELD rectype:8;
02295 FIELD storage:24;
02296 FIELD symclass:8;
02297 FIELD symid:24;
02298 FIELD dtype:8;
02299 FIELD charlen:24;
02300 FIELD offset:32;
02301 FIELD nlen:8;
02302 FIELD ndims:3;
02303 FIELD aarray:1;
02304 FIELD equiv:1;
02305 FIELD data:1;
02306 FIELD save:1;
02307 FIELD imptype:1;
02308 FIELD valoffset:1;
02309 FIELD cltype:1;
02310 FIELD un1:6;
02311 char *name;
02312 struct Cif_dim *dim;
02313 };
02314 #define OBJECT_SSIZE_1 19
02315
02316 #endif
02317
02318
02319 #if CIF_VERSION == 1
02320
02321
02322 struct Cif_opt_opts {
02323 FIELD rectype:8;
02324 long values;
02325 };
02326 #define OPT_OPTS_SSIZE sizeof(struct Cif_opt_opts)
02327
02328 #else
02329
02330
02331 struct Cif_opt_opts {
02332 FIELD rectype:8;
02333 FIELD inlevel:2;
02334 FIELD un1:22;
02335 FIELD values:32;
02336 };
02337 #define OPT_OPTS_SSIZE 8
02338
02339
02340
02341 struct Cif_opt_opts_1 {
02342 FIELD rectype:8;
02343 long values;
02344 };
02345 #define OPT_OPTS_SSIZE_1 sizeof(struct Cif_opt_opts_1)
02346
02347 #endif
02348
02349
02350
02351 struct Cif_srcfile {
02352 FIELD rectype:8;
02353 FIELD form:8;
02354 FIELD fid:16;
02355 };
02356 #define SRCFILE_SSIZE 4
02357
02358
02359 struct Cif_summary {
02360 FIELD rectype:8;
02361 char level[16];
02362 char gdate[16];
02363 char gtime[16];
02364 char ctime[16];
02365 long fldlen;
02366 long nlines;
02367 long csize;
02368 long dsize;
02369 };
02370 #define SUMMARY_SSIZE sizeof(struct Cif_summary)
02371
02372
02373 struct Cif_stmt_type {
02374 FIELD rectype:8;
02375 FIELD line:24;
02376 FIELD cpos:16;
02377 FIELD fid:16;
02378 FIELD type:8;
02379 FIELD eline:24;
02380 FIELD efid:16;
02381 FIELD ecpos:16;
02382 };
02383 #define STMT_TYPE_SSIZE 16
02384
02385
02386 struct Cif_unit {
02387 FIELD rectype:8;
02388 FIELD line:24;
02389 FIELD cpos:16;
02390 FIELD fid:16;
02391 FIELD nlen:8;
02392 char *name;
02393 };
02394 #define UNIT_SSIZE 9
02395
02396
02397 struct Cif_endunit {
02398 FIELD rectype:8;
02399 FIELD line:24;
02400 FIELD cpos:16;
02401 FIELD fid:16;
02402 FIELD nlen:8;
02403 char *name;
02404 };
02405 #define ENDUNIT_SSIZE 9
02406
02407 #if CIF_VERSION == 1
02408
02409
02410 struct Cif_use {
02411 FIELD line:24;
02412 FIELD utype:10;
02413 FIELD cpos:14;
02414 FIELD fid:16;
02415 };
02416
02417 struct Cif_usage {
02418 FIELD rectype:8;
02419 FIELD nuses:24;
02420 FIELD symid:24;
02421 struct Cif_use *use;
02422 };
02423 #define USAGE_SSIZE 7
02424
02425 #else
02426
02427
02428 struct Cif_use {
02429 FIELD line:24;
02430 FIELD utype:10;
02431 FIELD data:1;
02432 FIELD init:1;
02433 FIELD cpos:12;
02434 FIELD fid:16;
02435 };
02436
02437
02438 struct Cif_use_1 {
02439 FIELD line:24;
02440 FIELD utype:10;
02441 FIELD cpos:14;
02442 FIELD fid:16;
02443 };
02444
02445 struct Cif_usage {
02446 FIELD rectype:8;
02447 FIELD nuses:24;
02448 FIELD symid:24;
02449 FIELD nmembs:8;
02450
02451 long *membs;
02452 struct Cif_use *use;
02453 };
02454 #define USAGE_SSIZE 8
02455
02456 struct Cif_usage_1 {
02457 FIELD rectype:8;
02458 FIELD nuses:24;
02459 FIELD symid:24;
02460 struct Cif_use *use;
02461 };
02462 #define USAGE_SSIZE_1 7
02463
02464 #endif
02465
02466
02467
02468 struct Cif_urectbl {
02469 FIELD rectype:8;
02470 FIELD nrecords:24;
02471 FIELD recpos:32;
02472 };
02473 #define URECTBL_SSIZE sizeof(struct Cif_urectbl)
02474
02475 struct Cif_unitdir {
02476 FIELD rectype:8;
02477 FIELD maxsid:24;
02478 FIELD nsections:16;
02479 struct Cif_urectbl *ur;
02480 };
02481 #define UNITDIR_SSIZE 6
02482
02483
02484
02485
02486 #if CIF_VERSION != 1
02487
02488
02489 struct Cif_transform {
02490 FIELD rectype:8;
02491 FIELD line:23;
02492 FIELD type:1;
02493 FIELD fid:16;
02494 };
02495 #define TRANSFORM_SSIZE 6
02496
02497
02498
02499
02500 #if CIF_VERSION == 2
02501
02502
02503 struct Cif_f90_derived_type {
02504 FIELD rectype:8;
02505 FIELD symid:24;
02506 FIELD scopeid:24;
02507 FIELD nlen:8;
02508 FIELD dervtype:24;
02509 FIELD sequence:1;
02510 FIELD defprivate:1;
02511 FIELD comprivate:1;
02512 FIELD un1:5;
02513 FIELD flag:16;
02514 FIELD nmembs:16;
02515 char *name;
02516 long *memids;
02517 };
02518 #define F90_DERIVED_TYPE_SSIZE 16
02519
02520 #else
02521
02522
02523 struct Cif_f90_derived_type {
02524 FIELD rectype:8;
02525 FIELD symid:24;
02526 FIELD scopeid:24;
02527 FIELD nlen:8;
02528 FIELD dervtype:24;
02529 FIELD sequence:1;
02530 FIELD defprivate:1;
02531 FIELD comprivate:1;
02532 FIELD un1:5;
02533 FIELD flag:16;
02534 FIELD nmembs:16;
02535 FIELD moduleid:24;
02536
02537 FIELD un2:8;
02538 FIELD un3:32;
02539 FIELD un4:32;
02540
02541 char *name;
02542 long *memids;
02543 };
02544 #define F90_DERIVED_TYPE_SSIZE 28
02545
02546
02547 struct Cif_f90_derived_type_2 {
02548 FIELD rectype:8;
02549 FIELD symid:24;
02550 FIELD scopeid:24;
02551 FIELD nlen:8;
02552 FIELD dervtype:24;
02553 FIELD sequence:1;
02554 FIELD defprivate:1;
02555 FIELD comprivate:1;
02556 FIELD un1:5;
02557 FIELD flag:16;
02558 FIELD nmembs:16;
02559 char *name;
02560 long *memids;
02561 };
02562 #define F90_DERIVED_TYPE_SSIZE_2 16
02563
02564 #endif
02565
02566
02567 struct Cif_f90_callsite {
02568 FIELD rectype:8;
02569 FIELD line:24;
02570 FIELD cpos:16;
02571 FIELD nargs:16;
02572 FIELD entryid:24;
02573 FIELD valused:1;
02574 FIELD rank:1;
02575 FIELD un1:6;
02576 FIELD procid:24;
02577 FIELD un2:8;
02578 FIELD fid:16;
02579 FIELD un3:16;
02580 FIELD scopeid:24;
02581 struct Cif_f90_callsite *link;
02582 long *argids;
02583 int *nmembs;
02584 long **membs;
02585 int *ranks;
02586
02587 };
02588 #define F90_CALLSITE_SSIZE 23
02589
02590
02591 struct Cif_f90_comblk {
02592 FIELD rectype:8;
02593 FIELD symid:24;
02594 FIELD length:32;
02595 FIELD cbtype:8;
02596 FIELD scopeid:24;
02597 FIELD nlen:8;
02598 FIELD moduleid:24;
02599 FIELD dist:8;
02600 char *name;
02601 };
02602 #define F90_COMBLK_SSIZE 16
02603
02604
02605 struct Cif_f90_const {
02606 FIELD rectype:8;
02607 FIELD aggregate:1;
02608 FIELD strline:23;
02609 FIELD endline:24;
02610 FIELD un1:8;
02611 FIELD vlen:16;
02612 FIELD fid:16;
02613 FIELD strpos:16;
02614 FIELD endpos:16;
02615 FIELD symid:24;
02616 FIELD un2:8;
02617 FIELD scopeid:24;
02618 char *value;
02619 };
02620 #define F90_CONST_SSIZE 23
02621
02622
02623 struct Cif_f90_entry {
02624 FIELD rectype:8;
02625 FIELD symid:24;
02626 FIELD etype:8;
02627 FIELD resultid:24;
02628 FIELD ptype:8;
02629 FIELD useassoc:1;
02630 FIELD direct:1;
02631
02632
02633
02634 FIELD scopeid:22;
02635 FIELD moduleid:24;
02636 FIELD nlen:8;
02637 FIELD valargs:1;
02638 FIELD defined:1;
02639 FIELD intblock:1;
02640 FIELD stmtfunc:1;
02641 FIELD referenced:1;
02642<