STDF.Library Represents a BinaryReader that reads binary streams in big endian format. Creates an instance of a BigEndianBinaryReader that reads the passed stream A which the BigEndianBinaryReader reads from. Creates an instance of a BigEndianBinaryReader that reads the passed stream with a specified encoding. A which the BigEndianBinaryReader reads from. A which the BigEndianBinaryReader uses to read from the stream. Reads an unsigned Int16 A Reads an unsigned Int32 A Reads an unsigned Int64 Reads a float A Cpu types enumeration as reported by STDF specifications. Utility class for Endianness management. Initializes an instance of this Cpu. The type of the cpu to initialize. The byte value arrives from STDF field. Returns true if the passed cpu is LittleEndian, false otherwise B*n Variable length bit-encoded field: First byte = unsigned count of bytes to follow(maximum of 255 bytes). First data item in least significant bit of the second byte of the array(first byte is count.) Returns the size in bytes of this field. Reads this field's value from the binary reader. The binary reader from where to read the field's value. Writes this field's value to a binary writer. The binary writer where to write the field's value. C*1 One byte signed integer char C*f Variable length character string: string length is stored in another field C*n Variable length character string: first byte = unsigned count of bytes to follow(maximum of 255 bytes) D*n Variable length bit-encoded field: First two bytes = unsigned count of bits to follow(maximum of 65,535 bits). First data item in least significant bit of the third byte of the array (first two bytes are count). Unused bits at the high order end of the last byte must be zero. Returns the size in bytes of this field. Reads this field's value from the binary reader. The binary reader from where to read the field's value. Writes this field's value to a binary writer. The binary writer where to write the field's value. Represents the base class for all fields. The type of the field's value. Returns or sets the value of this field. Returns the size in bytes of this field. Reads this field's value from the binary reader. The binary reader from where to read the field's value. Reads this field from the binary reader. The binary reader from where to read the field's value. If the passed reader is null. Writes this field to a binary writer. If the field's value is null nothing will be written. The binary writer to which to write If the passed writer is null. Writes this field's value to a binary writer. The binary writer where to write the field's value. I*1 One byte signed integer char I*2 Two byte signed integer short I*4 Four byte signed integer int Represents the size in bytes of the field. resets the value of the field. Defines a generic interface for field of STDF record. Used as internal type for size, reading and writing. Represents the value of the field which type is specified by the generic parameter. The value of the field N*1 Unsigned integer data stored in a nibble. (Nibble = 4 bits of a byte). First item in low 4 bits, second item in high 4 bits. If an odd number of nibbles is indicated, the high nibble of the byte will be zero.Only whole bytes can be written to the STDF file. kxTYPE Array of data of the type specified. The value of ‘k’ (the number of elements in the array) is defined in an earlier field in the record.For example, an array of short unsigned integers is defined as kxU*2. R*4 Four byte floating point number float R*4 Four byte floating point number float U*1 One byte unsigned integer U*2 Two byte unsigned integer U*4 Four byte unsigned integer uint U*4 Four byte unsigned integer Creates an empty record of type and subtype specified by header. The header of the record. A record of type and subtype. If the type has no public constructor and hence no instance can be created. Creates a STDF record instance of the specified type and subtype. The type of record to create. The subtype of record to create. A record of specified type and subtype. Represents the ATR record of STDF. MOD_TIM U*4 Date and time of STDF file modification Date and time of STDF file modification CMD_LINE C*n Command line of program. Command line of program Represents the base class of bin records. HEAD_NUM U*1 Test head number SITE_NUM U*1 Test site number SBIN_NUM U*2 Software/Hardware bin number SBIN_CNT U*4 Number of parts in bin SBIN_PF C*1 Pass/fail indication SBIN_NAM C*n Name of software/Hardware bin Represents the DTR record of STDF. TEXT_DAT C*n ASCII text string Dummy record Represents the FAR record of STDF Returns cpu type information. CPU_TYPE U*1 CPU type that wrote this file The field which represents the raw value of cpu type. For more meaningful information use Cpu property. STDF_VER U*1 STDF version number STDF version number. TEST_NUM HEAD_NUM SITE_NUM CYCL_CNT REL_VADR REPT_CNT NUM_FAIL XFAIL_AD YFAIL_AD VECT_OFF RTN_ICNT, Count (j) of return data PMR indexes for RTN_INDX, RTN_STAT RTN_STAT, RTN_INDX, PGM_ICNT, Count (k) of programmed state indexes for PGM_INDX, PGM_STAT PGM_INDX, PGM_STAT, FAIL_PIN VECT_NAM TIME_SET OP_CODE TEST_TXT ALARM_ID PROG_TXT RSLT_TXT PATG_NUM SPIN_MAP TEST_FLG OPT_FLAG U*4 Test number U*1 Test head number U*1 Test site number B*1 Test flags (fail, alarm, etc.) B*1 Optional data flag See note U*4 Cycle count of vector OPT_FLAG bit 0 = 1 U*4 Relative vector address OPT_FLAG bit 1 = 1 U*4 Repeat count of vector OPT_FLAG bit 2 = 1 U*4 Number of pins with 1 or more failures OPT_FLAG bit 3 = 1 I*4 X logical device failure address OPT_FLAG bit 4 = 1 I*4 Y logical device failure address OPT_FLAG bit 4 = 1 I*2 Offset from vector of interest OPT_FLAG bit 5 = 1 U*2 Count (j) of return data PMR indexes See note U*2 Count (k) of programmed state indexes See note jxU*2 Array of return data PMR indexes RTN_ICNT = 0 jxN*1 Array of returned states RTN_ICNT = 0 kxU*2 Array of programmed state indexes PGM_ICNT = 0 kxN*1 Array of programmed states PGM_ICNT = 0 D*n Failing pin bitfield length bytes = 0 C*n Vector module pattern name length byte = 0 C*n Time set name length byte = 0 C*n Vector Op Code length byte = 0 C*n Descriptive text or label length byte = 0 C*n Name of alarm length byte = 0 C*n Additional programmed information length byte = 0 C*n Additional result information length byte = 0 U*1 Pattern generator number 255 D*n Bit map of enabled comparators length byte = 0 Represents the HBR record of STDF. Represents the MIR record of STDF SETUP_T U*4 Date and time of job setup START_T U*4 Date and time first part tested STAT_NUM U*1 Tester station number MODE_COD C*1 Test mode code (e.g. prod, dev) RTST_COD C*1 Lot retest code PROT_COD C*1 Data protection code BURN_TIM U*2 Burn-in time (in minutes) CMOD_COD C*1 Command mode code space LOT_ID C*n Lot ID (customer specified) PART_TYP C*n Part Type (or product ID) NODE_NAM C*n Name of node that generated data TSTR_TYP C*n Tester type JOB_NAM C*n Job name (test program name) OB_REV C*n Job (test program) revision number SBLOT_ID C*n Sublot ID OPER_NAM C*n Operator name or ID (at setup time) EXEC_TYP C*n Tester executive software type EXEC_VER C*n Tester exec software version number TEST_COD C*n Test phase or step code TST_TEMP C*n Test temperature USER_TXT C*n Generic user text AUX_FILE C*n Name of auxiliary data file length PKG_TYP C*n Package type length FAMLY_ID C*n Product family ID DATE_COD C*n Date code FACIL_ID C*n Test facility ID FLOOR_ID C*n Test floor ID length byte = 0 PROC_ID C*n Fabrication process ID OPER_FRQ C*n Operation frequency or step SPEC_NAM C*n Test specification name SPEC_VER C*n Test specification version number FLOW_ID C*n Test flow ID SETUP_ID C*n Test setup ID DSGN_REV C*n Device design revision ENG_ID C*n Engineering lot ID ROM_COD C*n ROM code ID SERL_NUM C*n Tester serial number SUPR_NAM C*n Supervisor name or ID Represents the MPR record of STDF TEST_NUM HEAD_NUM SITE_NUM TEST_FLG PARM_FLG RTN_ICNT RSLT_CNT RTN_STAT RTN_RSLT TEST_TXT ALARM_ID OPT_FLAG RES_SCAL LLM_SCAL HLM_SCAL LO_LIMIT HI_LIMIT START_IN INCR_IN RTN_INDX UNITS UNITS_IN C_RESFMT C_LLMFMT C_HLMFMT LO_SPEC HI_SPEC U*4 Test number U*1 Test head number U*1 Test site number B*1 Test flags (fail, alarm, etc.) B*1 Parametric test flags (drift, etc.) U*2 Count (j) of PMR indexes See note U*2 Count (k) of returned results See note jxN*1 Array of returned states RTN_ICNT = 0 kxR*4 Array of returned results RSLT_CNT = 0 C*n Descriptive text or label length byte = 0 C*n Name of alarm length byte = 0 B*1 Optional data flag See note I*1 Test result scaling exponent OPT_FLAG bit 0 = 1 I*1 Test low limit scaling exponent OPT_FLAG bit 4 or 6 = 1 I*1 Test high limit scaling exponent OPT_FLAG bit 5 or 7 = 1 R*4 Test low limit value OPT_FLAG bit 4 or 6 = 1 R*4 Test high limit value OPT_FLAG bit 5 or 7 = 1 R*4 Starting input value (condition) OPT_FLAG bit 1 = 1 R*4 Increment of input condition OPT_FLAG bit 1 = 1 jxU*2 Array of PMR indexes RTN_ICNT = 0 C*n Units of returned results length byte = 0 C*n Input condition units length byte = 0 C*n ANSI C result format string length byte = 0 C*n ANSI C low limit format string length byte = 0 C*n ANSI C high limit format string length byte = 0 R*4 Low specification limit value OPT_FLAG bit 2 = 1 R*4 High specification limit value OPT_FLAG bit 3 = 1 Represents the MRR record of STDF FINISH_T U*4 Date and time last part tested DISP_COD C*1 Lot disposition code USR_DESC C*n Lot description supplied by user length byte = 0 EXC_DESC C*n Lot description supplied by exec length byte = 0 Represents the PCR record of STDF. HEAD_NUM U*1 Test head number SITE_NUM U*1 Test site number PART_CNT U*4 Number of parts tested RTST_CNT U*4 Number of parts retested ABRT_CNT U*4 Number of aborts during testing GOOD_CNT U*4 Number of good (passed) parts tested FUNC_CNT U*4 Number of functional parts tested Represents the PIR record of STDF HEAD_NUM U*1 Test head number SITE_NUM U*1 Test site number PMR_INDX CHAN_TYP CHAN_NAM PHY_NAM LOG_NAM HEAD_NUM SITE_NUM Represents the PRR record of STDF HEAD_NUM U*1 Test head number SITE_NUM U*1 Test site number NUM_TEST U*2 Number of tests executed HARD_BIN U*2 Hardware bin number SOFT_BIN U*2 Software bin number X_COORD I*2 (Wafer) X coordinate Y_COORD I*2 (Wafer) Y coordinate TEST_T U*4 Elapsed test time in milliseconds PART_ID C*n Part identification PART_TXT C*n Part identification PART_FIX B*n Part repair information PART_FLG B*1 Part information flag Represents the field PART_FLG of PRR record. From STDF specification the first two bit must not be set both to 1. So it possible to check if it happens checking the validity of this field through Represents the PTR record of STDF. TEST_NUM HEAD_NUM SITE_NUM RESULT TEST_FLG PARM_FLG TEST_TXT ALARM_ID OPT_FLAG RES_SCAL LLM_SCAL HLM_SCAL LO_LIMIT HI_LIMIT UNITS C_RESFMT C_LLMFMT C_HLMFMT LO_SPEC HI_SPEC U*4 Test number U*1 Test head number U*1 Test site number B*1 Test flags (fail, alarm, etc.) B*1 Parametric test flags (drift, etc.) R*4 Test result TEST_FLG bit 1 = 1 C*n Test description text or label length byte = 0 C*n Name of alarm length byte = 0 B*1 Optional data flag See note I*1 Test results scaling exponent OPT_FLAG bit 0 = 1 I*1 Low limit scaling exponent OPT_FLAG bit 4 or 6 = 1 I*1 High limit scaling exponent OPT_FLAG bit 5 or 7 = 1 R*4 Low test limit value OPT_FLAG bit 4 or 6 = 1 R*4 High test limit value OPT_FLAG bit 5 or 7 = 1 C*n Test units length byte = 0 C*n ANSI C result format string length byte = 0 C*n ANSI C low limit format string length byte = 0 C*n ANSI C high limit format string length byte = 0 R*4 Low specification limit value OPT_FLAG bit 2 = 1 R*4 High specification limit value OPT_FLAG bit 3 = 1 Represents the SBR record of STDF. Represents the SDR record of STDF. HEAD_NUM U*1 Test head number SITE_GRP U*1 Site group number SITE_CNT U*1 Number (k) of test sites in site group SITE_NUM kxU*1 Array of test site numbers HAND_TYP C*n Handler or prober type HAND_ID C*n Handler or prober ID CARD_TYP C*n Probe card type CARD_ID C*n Probe card ID LOAD_TYP C*n Load board type LOAD_ID C*n Load board ID DIB_TYP C*n DIB board type DIB_ID C*n DIB board ID CABL_TYP C*n Interface cable type CABL_ID C*n Interface cable ID CONT_TYP C*n Handler contractor type CONT_ID C*n Handler contractor ID LASR_TYP C*n Laser type LASR_ID C*n Laser ID EXTR_TYP C*n Extra equipment type field EXTR_ID C*n Extra equipment ID Represents the TSR record of STDF. HEAD_NUM U*1 Test head number SITE_NUM U*1 Test site number TEST_TYP C*1 Test type TEST_NUM U*4 Test number EXEC_CNT U*4 Number of test executions FAIL_CNT U*4 Number of test failures ALRM_CNT U*4 Number of alarmed tests TEST_NAM C*n Test name SEQ_NAME C*n Sequencer (program segment/flow) name TEST_LBL C*n Test label or text TEST_TIM R*4 Average test execution time in seconds TEST_MIN R*4 Lowest test result value TEST_MAX R*4 Highest test result value TST_SUMS R*4 Sum of test result values TST_SQRS R*4 Sum of squares of test result values OPT_FLAG B*1 Optional data flag Represents the WCR record of STDF WAFR_SIZ R*4 Diameter of wafer in WF_UNITS DIE_HT R*4 Height of die in WF_UNITS DIE_WID R*4 Width of die in WF_UNITS WF_UNITS U*1 Units for wafer and die dimensions WF_FLAT C*1 Orientation of wafer flat CENTER_X I*2 X coordinate of center die on wafer CENTER_Y I*2 Y coordinate of center die on wafer POS_X C*1 Positive X direction of wafer POS_Y C*1 Positive Y direction of wafer Represents the WIR record of STDF HEAD_NUM U*1 Test head number SITE_GRP U*1 Site group number START_T U*4 Date and time first part tested WAFER_ID C*n Wafer ID Represents the WRR record of STDF HEAD_NUM U*1 Test head number SITE_GRP U*1 Site group number FINISH_T U*4 Date and time first part tested PART_CNT U*4 Number of parts tested RTST_CNT U*4 Number of parts retested ABRT_CNT U*4 Number of aborts during testing GOOD_CNT U*4 Number of good (passed) parts tested FUNC_CNT U*4 Number of functional parts tested WAFER_ID C*n Wafer ID FABWF_ID C*n Fab wafer ID FRAME_ID C*n Wafer frame ID MASK_ID C*n Wafer mask ID USR_DESC C*n description supplied by user EXC_DESC C*n Lot description supplied by exec Represents a custom attribute used to set information of a record, such as type and subtype Represents the type information of a record Represents the subtype information of a record Creates a StdfRecordAttribute with specific type and subtype. The type information of the record The subtype information of the record Represents a factory of BinaryReader instances. Provides a default implementation or a proper one depending on CPU architecture Defines the capability to read and write to a binary stream. Reads from a binary reader. The binary reader from which to read Writes to a binary writer. The binary writer to which to write Reads each record sequentially until the end of the stream raising the event and notifying all registered delegates. Returns the read record or null if the end of the stream is reached or an error occurred. If the object is already disposed. Closes the underlying resources used by this reader Writes a record through the . The record to write. If the object is already disposed. Writes a record through the . The record to write. If the object is already disposed. Writes the array of records. The record to write through the . If the object is already disposed. Closes the underlying resources used by this reader Releases the unmanaged resources used by the StdfFileWriter and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Releases the resources used by the . Reads the record from the binary reader. The binary reader used to read the record. Writes the header of each records and delegates the writing of fields to subclasses. The writer where to write the record Utility class for Endianness bytes swapping. This class consider bytes in big endian and convert to little endian. Swap a ushort. A which represents the ushort to swap. A which represents the swapped ushort. Swaps a uint A which represents the uint to swap A which represents the swapped uint Swaps a ulong A which represents the ulong to swap. A which represents the swapped ulong. Swaps a float A which represents the float to swap. A which represents the float swapped. Utility class for Unix time management in .NET framework Converts a unix timestamp to a DateTime. Represents the unix timestamp A DateTime obtained from the unix timestamp Converts a DateTime to a unix timestamp The DateTime to convert The unix timestamp obtained from the DateTime