libstdf_types.h

Go to the documentation of this file.
00001 
00005 /*
00006  * Copyright (C) 2004-2006 Mike Frysinger <vapier@gmail.com>
00007  * Released under the BSD license.  For more information,
00008  * please see: http://opensource.org/licenses/bsd-license.php
00009  *
00010  * $Header: /cvsroot/freestdf/libstdf/include/libstdf_types.h,v 1.28 2005/11/13 12:09:51 vapier Exp $
00011  */
00012 
00013 #ifndef _LIBSTDF_TYPES_H
00014 #define _LIBSTDF_TYPES_H
00015 
00016 /* Definitions for Record Types [page 7] */
00017 typedef enum {
00018     REC_TYP_INFO        = 0,
00019     REC_TYP_PER_LOT     = 1,
00020     REC_TYP_PER_WAFER   = 2,
00021     REC_TYP_PER_PART    = 5,
00022     REC_TYP_PER_TEST    = 10,
00023     REC_TYP_PER_EXEC    = 15,
00024     REC_TYP_PER_PROG    = 20,
00025     REC_TYP_PER_SITE    = 25,
00026     REC_TYP_GENERIC     = 50,
00027     REC_TYP_RESV_IMAGE  = 180,
00028     REC_TYP_RESV_IG900  = 181,
00029     REC_TYP_UNKNOWN     = 0xFF
00030 } rec_typ;
00031 /* Definitions for Record Subtypes [page 7] */
00032 typedef enum {
00033     REC_SUB_FAR         = 10,
00034     REC_SUB_ATR         = 20,
00035     REC_SUB_MIR         = 10,
00036     REC_SUB_MRR         = 20,
00037     REC_SUB_PCR         = 30,
00038     REC_SUB_HBR         = 40,
00039     REC_SUB_SBR         = 50,
00040     REC_SUB_PMR         = 60,
00041     REC_SUB_PGR         = 62,
00042     REC_SUB_PLR         = 63,
00043     REC_SUB_RDR         = 70,
00044     REC_SUB_SDR         = 80,
00045     REC_SUB_WIR         = 10,
00046     REC_SUB_WRR         = 20,
00047     REC_SUB_WCR         = 30,
00048     REC_SUB_PIR         = 10,
00049     REC_SUB_PRR         = 20,
00050 #ifdef STDF_VER3
00051     REC_SUB_PDR         = 10,
00052     REC_SUB_FDR         = 20,
00053 #endif
00054     REC_SUB_TSR         = 30,
00055     REC_SUB_PTR         = 10,
00056     REC_SUB_MPR         = 15,
00057     REC_SUB_FTR         = 20,
00058     REC_SUB_BPS         = 10,
00059     REC_SUB_EPS         = 20,
00060 #ifdef STDF_VER3
00061     REC_SUB_SHB         = 10,
00062     REC_SUB_SSB         = 20,
00063     REC_SUB_STS         = 30,
00064     REC_SUB_SCR         = 40,
00065 #endif
00066     REC_SUB_GDR         = 10,
00067     REC_SUB_DTR         = 30,
00068     REC_SUB_UNKNOWN     = 0xFF
00069 } rec_sub;
00070 /* Definitions that combine Record Types with Subtypes */
00071 #define MAKE_REC(typ,sub)   ((typ << 8) + sub)
00072 #define BREAK_REC(h,t)      do { h.REC_TYP = (t >> 8); h.REC_SUB = (t & 0xFF); } while (0)
00073 #define SET_HEADER(h,t,l)   do { BREAK_REC(h, t); h.REC_LEN = l; } while (0)
00074 #define INIT_HEADER(h,t)    SET_HEADER(h,t,0)
00075 #define HEAD_TO_REC(h)      MAKE_REC(h.REC_TYP,h.REC_SUB)
00076 #define REC_FAR             MAKE_REC(REC_TYP_INFO, REC_SUB_FAR)
00077 #define REC_ATR             MAKE_REC(REC_TYP_INFO, REC_SUB_ATR)
00078 #define REC_MIR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_MIR)
00079 #define REC_MRR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_MRR)
00080 #define REC_PCR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_PCR)
00081 #define REC_HBR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_HBR)
00082 #define REC_SBR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_SBR)
00083 #define REC_PMR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_PMR)
00084 #define REC_PGR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_PGR)
00085 #define REC_PLR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_PLR)
00086 #define REC_RDR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_RDR)
00087 #define REC_SDR             MAKE_REC(REC_TYP_PER_LOT, REC_SUB_SDR)
00088 #define REC_WIR             MAKE_REC(REC_TYP_PER_WAFER, REC_SUB_WIR)
00089 #define REC_WRR             MAKE_REC(REC_TYP_PER_WAFER, REC_SUB_WRR)
00090 #define REC_WCR             MAKE_REC(REC_TYP_PER_WAFER, REC_SUB_WCR)
00091 #define REC_PIR             MAKE_REC(REC_TYP_PER_PART, REC_SUB_PIR)
00092 #define REC_PRR             MAKE_REC(REC_TYP_PER_PART, REC_SUB_PRR)
00093 #ifdef  STDF_VER3
00094 #define REC_PDR             MAKE_REC(REC_TYP_PER_TEST, REC_SUB_PDR)
00095 #define REC_FDR             MAKE_REC(REC_TYP_PER_TEST, REC_SUB_FDR)
00096 #endif
00097 #define REC_TSR             MAKE_REC(REC_TYP_PER_TEST, REC_SUB_TSR)
00098 #define REC_PTR             MAKE_REC(REC_TYP_PER_EXEC, REC_SUB_PTR)
00099 #define REC_MPR             MAKE_REC(REC_TYP_PER_EXEC, REC_SUB_MPR)
00100 #define REC_FTR             MAKE_REC(REC_TYP_PER_EXEC, REC_SUB_FTR)
00101 #define REC_BPS             MAKE_REC(REC_TYP_PER_PROG, REC_SUB_BPS)
00102 #define REC_EPS             MAKE_REC(REC_TYP_PER_PROG, REC_SUB_EPS)
00103 #ifdef  STDF_VER3
00104 #define REC_SHB             MAKE_REC(REC_TYP_PER_SITE, REC_SUB_SHB)
00105 #define REC_SSB             MAKE_REC(REC_TYP_PER_SITE, REC_SUB_SSB)
00106 #define REC_STS             MAKE_REC(REC_TYP_PER_SITE, REC_SUB_STS)
00107 #define REC_SCR             MAKE_REC(REC_TYP_PER_SITE, REC_SUB_SCR)
00108 #endif
00109 #define REC_GDR             MAKE_REC(REC_TYP_GENERIC, REC_SUB_GDR)
00110 #define REC_DTR             MAKE_REC(REC_TYP_GENERIC, REC_SUB_DTR)
00111 #define REC_UNKNOWN         MAKE_REC(REC_TYP_UNKNOWN, REC_SUB_UNKNOWN)
00112 
00113 /* Definitions for Data Type Codes and Representation [page 8] */
00114 typedef uint8_t         byte_t;
00115 typedef char*           dtc_Cn;
00116 typedef char            dtc_C1;
00117 typedef uint8_t         dtc_U1;
00118 typedef uint16_t        dtc_U2;
00119 typedef uint32_t        dtc_U4;
00120 typedef int8_t          dtc_I1;
00121 typedef int16_t         dtc_I2;
00122 typedef int32_t         dtc_I4;
00123 typedef float           dtc_R4;
00124 typedef double          dtc_R8;
00125 typedef unsigned char*  dtc_Bn;
00126 typedef unsigned char   dtc_B1;
00127 typedef unsigned char*  dtc_Dn;
00128 typedef unsigned char   dtc_N1;
00129 typedef dtc_Cn*         dtc_xCn;
00130 typedef dtc_U1*         dtc_xU1;
00131 typedef dtc_U2*         dtc_xU2;
00132 typedef dtc_R4*         dtc_xR4;
00133 typedef dtc_N1*         dtc_xN1;
00134 typedef struct {
00135     dtc_Vn_type type;
00136     void*       data;
00137 } dtc_Vn_ele;
00138 typedef dtc_Vn_ele*     dtc_Vn;
00139 
00140 typedef enum {
00141     REC_STATE_RAW,
00142     REC_STATE_PARSED
00143 } rec_state;
00150 typedef struct {
00151     void        *stdf_file;
00152     rec_state   state;
00153     dtc_U2      REC_LEN;        
00154     rec_typ     REC_TYP;        
00155     rec_sub     REC_SUB;        
00156 } rec_header;
00164 typedef struct {
00165     rec_header  header;
00166     void        *data;
00167 } rec_unknown;
00168 /* FAR: File Attributes Record [page 18] */
00169 typedef struct {
00170     rec_header  header;
00171     dtc_U1      CPU_TYPE;
00172     dtc_U1      STDF_VER;
00173 } rec_far;
00174 /* ATR: Audit Trail Record [page 19] */
00175 typedef struct {
00176     rec_header  header;
00177     dtc_U4      MOD_TIM;
00178     dtc_Cn      CMD_LINE;
00179 } rec_atr;
00180 /* MIR: Master Information Record [page 20] */
00181 typedef struct {
00182     rec_header  header;
00183 #ifdef STDF_VER3
00184     dtc_U1      CPU_TYPE;
00185     dtc_U1      STDF_VER;
00186 #endif
00187     dtc_U4      SETUP_T;
00188     dtc_U4      START_T;
00189     dtc_U1      STAT_NUM;
00190     dtc_C1      MODE_COD;
00191     dtc_C1      RTST_COD;
00192     dtc_C1      PROT_COD;
00193     dtc_U2      BURN_TIM;
00194     dtc_C1      CMOD_COD;
00195     dtc_Cn      LOT_ID;
00196     dtc_Cn      PART_TYP;
00197     dtc_Cn      NODE_NAM;
00198     dtc_Cn      TSTR_TYP;
00199 #ifdef STDF_VER3
00200     dtc_Cn      HAND_ID;
00201     dtc_Cn      PRB_CARD;
00202 #endif
00203     dtc_Cn      JOB_NAM;
00204     dtc_Cn      JOB_REV;
00205     dtc_Cn      SBLOT_ID;
00206     dtc_Cn      OPER_NAM;
00207     dtc_Cn      EXEC_TYP;
00208     dtc_Cn      EXEC_VER;
00209     dtc_Cn      TEST_COD;
00210     dtc_Cn      TST_TEMP;
00211     dtc_Cn      USER_TXT;
00212     dtc_Cn      AUX_FILE;
00213     dtc_Cn      PKG_TYP;
00214     dtc_Cn      FAMILY_ID;
00215     dtc_Cn      DATE_COD;
00216     dtc_Cn      FACIL_ID;
00217     dtc_Cn      FLOOR_ID;
00218     dtc_Cn      PROC_ID;
00219     dtc_Cn      OPER_FRQ;
00220     dtc_Cn      SPEC_NAM;
00221     dtc_Cn      SPEC_VER;
00222     dtc_Cn      FLOW_ID;
00223     dtc_Cn      SETUP_ID;
00224     dtc_Cn      DSGN_REV;
00225     dtc_Cn      ENG_ID;
00226     dtc_Cn      ROM_COD;
00227     dtc_Cn      SERL_NUM;
00228     dtc_Cn      SUPR_NAM;
00229 } rec_mir;
00230 /* MRR: Master Results Record [page 23] */
00231 typedef struct {
00232     rec_header  header;
00233     dtc_U4      FINISH_T;
00234 #ifdef STDF_VER3
00235     dtc_U4      PART_CNT;
00236     dtc_U4      RTST_CNT;
00237     dtc_U4      ABRT_CNT;
00238     dtc_U4      GOOD_CNT;
00239     dtc_U4      FUNC_CNT;
00240 #endif
00241     dtc_C1      DISP_COD;
00242     dtc_Cn      USR_DESC;
00243     dtc_Cn      EXC_DESC;
00244 } rec_mrr;
00245 /* PCR: Part Count Record [page 24] */
00246 typedef struct {
00247     rec_header  header;
00248     dtc_U1      HEAD_NUM;
00249     dtc_U1      SITE_NUM;
00250     dtc_U4      PART_CNT;
00251     dtc_U4      RTST_CNT;
00252     dtc_U4      ABRT_CNT;
00253     dtc_U4      GOOD_CNT;
00254     dtc_U4      FUNC_CNT;
00255 } rec_pcr;
00256 /* HBR: Hardware Bin Record [page 25] */
00257 typedef struct {
00258     rec_header  header;
00259     dtc_U1      HEAD_NUM;
00260     dtc_U1      SITE_NUM;
00261     dtc_U2      HBIN_NUM;
00262     dtc_U4      HBIN_CNT;
00263     dtc_C1      HBIN_PF;
00264     dtc_Cn      HBIN_NAM;
00265 } rec_hbr;
00266 /* SBR: Software Bin Record [page 27] */
00267 typedef struct {
00268     rec_header  header;
00269     dtc_U1      HEAD_NUM;
00270     dtc_U1      SITE_NUM;
00271     dtc_U2      SBIN_NUM;
00272     dtc_U4      SBIN_CNT;
00273     dtc_C1      SBIN_PF;
00274     dtc_Cn      SBIN_NAM;
00275 } rec_sbr;
00276 /* PMR: Pin Map Record [page 29] */
00277 typedef struct {
00278     rec_header  header;
00279     dtc_U2      PMR_INDX;
00280     dtc_U2      CHAN_TYP;
00281     dtc_Cn      CHAN_NAM;
00282     dtc_Cn      PHY_NAM;
00283     dtc_Cn      LOG_NAM;
00284     dtc_U1      HEAD_NUM;
00285     dtc_U1      SITE_NUM;
00286 } rec_pmr;
00287 /* PGR: Pin Group Record [page 31] */
00288 typedef struct {
00289     rec_header  header;
00290     dtc_U2      GRP_INDX;
00291     dtc_Cn      GRP_NAM;
00292     dtc_U2      INDX_CNT;
00293     dtc_xU2     PMR_INDX;
00294 } rec_pgr;
00295 /* PLR: Pin List Record [page 32] */
00296 typedef struct {
00297     rec_header  header;
00298     dtc_U2      GRP_CNT;
00299     dtc_xU2     GRP_INDX;
00300     dtc_xU2     GRP_MODE;
00301     dtc_xU1     GRP_RADX;
00302     dtc_xCn     PGM_CHAR;
00303     dtc_xCn     RTN_CHAR;
00304     dtc_xCn     PGM_CHAL;
00305     dtc_xCn     RTN_CHAL;
00306 } rec_plr;
00307 /* RDR: Retest Data Record [page 34] */
00308 typedef struct {
00309     rec_header  header;
00310     dtc_U2      NUM_BINS;
00311     dtc_xU2     RTST_BIN;
00312 } rec_rdr;
00313 /* SDR: Site Description Record [page 35] */
00314 typedef struct {
00315     rec_header  header;
00316     dtc_U1      HEAD_NUM;
00317     dtc_U1      SITE_GRP;
00318     dtc_U1      SITE_CNT;
00319     dtc_xU1     SITE_NUM;
00320     dtc_Cn      HAND_TYP;
00321     dtc_Cn      HAND_ID;
00322     dtc_Cn      CARD_TYP;
00323     dtc_Cn      CARD_ID;
00324     dtc_Cn      LOAD_TYP;
00325     dtc_Cn      LOAD_ID;
00326     dtc_Cn      DIB_TYP;
00327     dtc_Cn      DIB_ID;
00328     dtc_Cn      CABL_TYP;
00329     dtc_Cn      CABL_ID;
00330     dtc_Cn      CONT_TYP;
00331     dtc_Cn      CONT_ID;
00332     dtc_Cn      LASR_TYP;
00333     dtc_Cn      LASR_ID;
00334     dtc_Cn      EXTR_TYP;
00335     dtc_Cn      EXTR_ID;
00336 } rec_sdr;
00337 /* WIR: Wafer Information Record [page 37] */
00338 typedef struct {
00339     rec_header  header;
00340     dtc_U1      HEAD_NUM;
00341     dtc_U1      SITE_GRP;
00342 #ifdef STDF_VER3
00343     dtc_B1      PAD_BYTE;
00344 #endif
00345     dtc_U4      START_T;
00346     dtc_Cn      WAFER_ID;
00347 } rec_wir;
00348 /* WRR: Wafer Results Record [page 38] */
00349 typedef struct {
00350     rec_header  header;
00351     dtc_U1      HEAD_NUM;
00352     dtc_U1      SITE_GRP;
00353 #ifdef STDF_VER3
00354     dtc_B1      PAD_BYTE;
00355 #endif
00356     dtc_U4      FINISH_T;
00357     dtc_U4      PART_CNT;
00358     dtc_U4      RTST_CNT;
00359     dtc_U4      ABRT_CNT;
00360     dtc_U4      GOOD_CNT;
00361     dtc_U4      FUNC_CNT;
00362 #ifdef STDF_VER3
00363     dtc_Cn      HAND_ID;
00364     dtc_Cn      PRB_CARD;
00365 #endif
00366     dtc_Cn      WAFER_ID;
00367     dtc_Cn      FABWF_ID;
00368     dtc_Cn      FRAME_ID;
00369     dtc_Cn      MASK_ID;
00370     dtc_Cn      USR_DESC;
00371     dtc_Cn      EXC_DESC;
00372 } rec_wrr;
00373 /* WCR: Wafer Configuration Record [page 40] */
00374 typedef struct {
00375     rec_header  header;
00376     dtc_R4      WAFR_SIZ;
00377     dtc_R4      DIE_HT;
00378     dtc_R4      DIE_WID;
00379     dtc_U1      WF_UNITS;
00380     dtc_C1      WF_FLAT;
00381     dtc_I2      CENTER_X;
00382     dtc_I2      CENTER_Y;
00383     dtc_C1      POS_X;
00384     dtc_C1      POS_Y;
00385 } rec_wcr;
00386 /* PIR: Part Information Record [page 42] */
00387 typedef struct {
00388     rec_header  header;
00389     dtc_U1      HEAD_NUM;
00390     dtc_U1      SITE_NUM;
00391 #ifdef STDF_VER3
00392     dtc_I2      X_COORD;
00393     dtc_I2      Y_COORD;
00394     dtc_Cn      PART_ID;
00395 #endif
00396 } rec_pir;
00397 /* PRR: Part Results Record [page 43] */
00398 typedef struct {
00399     rec_header  header;
00400     dtc_U1      HEAD_NUM;
00401     dtc_U1      SITE_NUM;
00402 #ifdef STDF_VER3
00403     dtc_B1      PAD_BYTE;
00404 #endif
00405     dtc_B1      PART_FLG;
00406     dtc_U2      NUM_TEST;
00407     dtc_U2      HARD_BIN;
00408     dtc_U2      SOFT_BIN;
00409     dtc_I2      X_COORD;
00410     dtc_I2      Y_COORD;
00411     dtc_U4      TEST_T;
00412     dtc_Cn      PART_ID;
00413     dtc_Cn      PART_TXT;
00414     dtc_Bn      PART_FIX;
00415 } rec_prr;
00416 #ifdef  STDF_VER3
00417 /* PDR: Parametric Test Description */
00418 typedef struct {
00419     rec_header  header;
00420     dtc_U4      TEST_NUM;
00421     dtc_B1      DESC_FLG;
00422     dtc_B1      OPT_FLAG;
00423     dtc_I1      RES_SCAL;
00424     dtc_Cn      UNITS;  /*dtc_C7*/
00425     dtc_U1      RES_LDIG;
00426     dtc_U1      RES_RDIG;
00427     dtc_I1      LLM_SCAL;
00428     dtc_I1      HLM_SCAL;
00429     dtc_U1      LLM_LDIG;
00430     dtc_U1      LLM_RDIG;
00431     dtc_U1      HLM_LDIG;
00432     dtc_U1      HLM_RDIG;
00433     dtc_R4      LO_LIMIT;
00434     dtc_R4      HI_LIMIT;
00435     dtc_Cn      TEST_NAM;
00436     dtc_Cn      SEQ_NAME;
00437 } rec_pdr;
00438 /* FDR: Functional Test Description */
00439 typedef struct {
00440     rec_header  header;
00441     dtc_U4      TEST_NUM;
00442     dtc_B1      DESC_FLG;
00443     dtc_Cn      TEST_NAM;
00444     dtc_Cn      SEQ_NAME;
00445 } rec_fdr;
00446 #endif
00447 /* TSR: Test Synopsis Record [page 45] */
00448 typedef struct {
00449     rec_header  header;
00450     dtc_U1      HEAD_NUM;
00451     dtc_U1      SITE_NUM;
00452 #ifdef STDF_VER3
00453     dtc_B1      PAD_BYTE;
00454     dtc_R4      TST_MEAN;
00455     dtc_R4      TST_SDEV;
00456 #endif
00457     dtc_C1      TEST_TYP;
00458     dtc_U4      TEST_NUM;
00459     dtc_U4      EXEC_CNT;
00460     dtc_U4      FAIL_CNT;
00461     dtc_U4      ALRM_CNT;
00462     dtc_Cn      TEST_NAM;
00463     dtc_Cn      SEQ_NAME;
00464     dtc_Cn      TEST_LBL;
00465     dtc_B1      OPT_FLAG;
00466     dtc_R4      TEST_TIM;
00467     dtc_R4      TEST_MIN;
00468     dtc_R4      TEST_MAX;
00469     dtc_R4      TST_SUMS;
00470     dtc_R4      TST_SQRS;
00471 } rec_tsr;
00472 /* PTR: Parametric Test Record [page 47] */
00473 typedef struct {
00474     rec_header  header;
00475     dtc_U4      TEST_NUM;
00476     dtc_U1      HEAD_NUM;
00477     dtc_U1      SITE_NUM;
00478     dtc_B1      TEST_FLG;
00479     dtc_B1      PARM_FLG;
00480     dtc_R4      RESULT;
00481     dtc_Cn      TEST_TXT;
00482     dtc_Cn      ALARM_ID;
00483     dtc_B1      OPT_FLAG;
00484     dtc_I1      RES_SCAL;
00485     dtc_I1      LLM_SCAL;
00486     dtc_I1      HLM_SCAL;
00487     dtc_R4      LO_LIMIT;
00488     dtc_R4      HI_LIMIT;
00489     dtc_Cn      UNITS;
00490     dtc_Cn      C_RESFMT;
00491     dtc_Cn      C_LLMFMT;
00492     dtc_Cn      C_HLMFMT;
00493     dtc_R4      LO_SPEC;
00494     dtc_R4      HI_SPEC;
00495 } rec_ptr;
00496 /* MPR: Multiple-Result Parametric Record [page 53] */
00497 typedef struct {
00498     rec_header  header;
00499     dtc_U4      TEST_NUM;
00500     dtc_U1      HEAD_NUM;
00501     dtc_U1      SITE_NUM;
00502     dtc_B1      TEST_FLG;
00503     dtc_B1      PARM_FLG;
00504     dtc_U2      RTN_ICNT;
00505     dtc_U2      RSLT_CNT;
00506     dtc_xN1     RTN_STAT;
00507     dtc_xR4     RTN_RSLT;
00508     dtc_Cn      TEST_TXT;
00509     dtc_Cn      ALARM_ID;
00510     dtc_B1      OPT_FLAG;
00511     dtc_I1      RES_SCAL;
00512     dtc_I1      LLM_SCAL;
00513     dtc_I1      HLM_SCAL;
00514     dtc_R4      LO_LIMIT;
00515     dtc_R4      HI_LIMIT;
00516     dtc_R4      START_IN;
00517     dtc_R4      INCR_IN;
00518     dtc_xU2     RTN_INDX;
00519     dtc_Cn      UNITS;
00520     dtc_Cn      UNITS_IN;
00521     dtc_Cn      C_RESFMT;
00522     dtc_Cn      C_LLMFMT;
00523     dtc_Cn      C_HLMFMT;
00524     dtc_R4      LO_SPEC;
00525     dtc_R4      HI_SPEC;
00526 } rec_mpr;
00527 /* FTR: Functional Test Record [page 57] */
00528 typedef struct {
00529     rec_header header;
00530     dtc_U4      TEST_NUM;
00531     dtc_U1      HEAD_NUM;
00532     dtc_U1      SITE_NUM;
00533     dtc_B1      TEST_FLG;
00534     dtc_B1      OPT_FLAG;
00535     dtc_U4      CYCL_CNT;
00536     dtc_U4      REL_VADR;
00537     dtc_U4      REPT_CNT;
00538     dtc_U4      NUM_FAIL;
00539     dtc_I4      XFAIL_AD;
00540     dtc_I4      YFAIL_AD;
00541     dtc_I2      VECT_OFF;
00542     dtc_U2      RTN_ICNT;
00543     dtc_U2      PGM_ICNT;
00544     dtc_xU2     RTN_INDX;
00545     dtc_xN1     RTN_STAT;
00546     dtc_xU2     PGM_INDX;
00547     dtc_xN1     PGM_STAT;
00548     dtc_Dn      FAIL_PIN;
00549     dtc_Cn      VECT_NAM;
00550     dtc_Cn      TIME_SET;
00551     dtc_Cn      OP_CODE;
00552     dtc_Cn      TEST_TXT;
00553     dtc_Cn      ALARM_ID;
00554     dtc_Cn      PROG_TXT;
00555     dtc_Cn      RSLT_TXT;
00556     dtc_U1      PATG_NUM;
00557     dtc_Dn      SPIN_MAP;
00558 } rec_ftr;
00559 /* BPS: Begin Program Section [page 62] */
00560 typedef struct {
00561     rec_header  header;
00562     dtc_Cn      SEQ_NAME;
00563 } rec_bps;
00564 /* EPS: End Program Section [page 63] */
00565 typedef struct {
00566     rec_header  header;
00567 } rec_eps;
00568 #ifdef  STDF_VER3
00569 /* SHB: Site-Specific Hardware Bin Record */
00570 typedef struct {
00571     rec_header  header;
00572     dtc_U1      HEAD_NUM;
00573     dtc_U1      SITE_NUM;
00574     dtc_U2      HBIN_NUM;
00575     dtc_U4      HBIN_CNT;
00576     dtc_Cn      HBIN_NAM;
00577 } rec_shb;
00578 /* SSB: Site-Specific Software Bin Record */
00579 typedef struct {
00580     rec_header  header;
00581     dtc_U1      HEAD_NUM;
00582     dtc_U1      SITE_NUM;
00583     dtc_U2      SBIN_NUM;
00584     dtc_U4      SBIN_CNT;
00585     dtc_Cn      SBIN_NAM;
00586 } rec_ssb;
00587 /* STS: Site-Specific Test Synopsis Record */
00588 typedef struct {
00589     rec_header  header;
00590     dtc_U1      HEAD_NUM;
00591     dtc_U1      SITE_NUM;
00592     dtc_U4      TEST_NUM;
00593     dtc_I4      EXEC_CNT;
00594     dtc_I4      FAIL_CNT;
00595     dtc_I4      ALRM_CNT;
00596     dtc_B1      OPT_FLAG;
00597     dtc_B1      PAD_BYTE;
00598     dtc_R4      TEST_MIN;
00599     dtc_R4      TEST_MAX;
00600     dtc_R4      TST_MEAN;
00601     dtc_R4      TST_SDEV;
00602     dtc_R4      TST_SUMS;
00603     dtc_R4      TST_SQRS;
00604     dtc_Cn      TEST_NAM;
00605     dtc_Cn      SEQ_NAME;
00606     dtc_Cn      TEST_LBL;
00607 } rec_sts;
00608 /* SCR: Site-Specific Part Count Record */
00609 typedef struct {
00610     rec_header  header;
00611     dtc_U1      HEAD_NUM;
00612     dtc_U1      SITE_NUM;
00613     dtc_U4      FINISH_T;
00614     dtc_U4      PART_CNT;
00615     dtc_I4      RTST_CNT;
00616     dtc_I4      ABRT_CNT;
00617     dtc_I4      GOOD_CNT;
00618     dtc_I4      FUNC_CNT;
00619 } rec_scr;
00620 #endif
00621 /* GDR: Generic Data Record [page 64] */
00622 typedef struct {
00623     rec_header  header;
00624     dtc_U2      FLD_CNT;
00625     dtc_Vn      GEN_DATA;
00626 } rec_gdr;
00627 /* DTR: Datalog Text Record [page 66] */
00628 typedef struct {
00629     rec_header  header;
00630     dtc_Cn      TEXT_DAT;
00631 } rec_dtr;
00632 
00633 #endif /* _LIBSTDF_TYPES_H */

Generated on Thu Jun 8 14:05:35 2006 for libstdf by  doxygen 1.4.6