typedef struct _AAMVASUBFILE 
   L_UINT uStructSize; 
   L_CHAR SubfileTypeCode[2]; 
   L_UINT Offset; 
   L_UINT Length; 
   L_UINT JurisdictionSpecificDataElementCount; 

This structure contains all information in an AAMVA CDS subfile.

Member Description
uStructSize Size of AAMVASUBFILE structure, in bytes, for versioning. Use the sizeof operator to calculate this value.
SubfileType The type of the subfile. For possible values, refer to L_AAMVA_SUBFILE_TYPE.
SubfileTypeCode the subfile type code. This code will be in a form of two characters. For example:
  • "DL" for driver's license.

  • "ID" for ID card.

  • "Z[X]" for jurisdiction-specific subfiles, where [X] is typically the first letter of the state name.
Offset The offset, in bytes, from the start of the input barcode data to the beginning of the subfile. Note that many issuing authorities encode this value incorrectly and are 1 byte off in either direction.
Length The length of the subfile in byte. Therefore, the end of the subfile should be at or around subfile.Offset + subfile.Length.
DataElements An array of all data elements associated to subfile. Each element defined in the AAMVA CDS has a fixed slot in this array. This array will be of length AAMVA_DEFINED_DATA_ELEMENTS_COUNT + JurisdictionSpecificDataElementCount.
JurisdictionSpecificDataElementCount The number of jurisdiction-specific data element contained in this subfile. These data elements will be appended to the end of the DataElements array.


Subfiles can be of three types: Driver's License, ID Card, or Jurisdiction Specific.

Subfiles, according the AAMVA CDS, have mandatory and optional data elements. However, these guidelines are rarely abided by.

Help Version 20.0.2018.2.22
Products | Support | Contact Us | Copyright Notices
© 1991-2018 LEAD Technologies, Inc. All Rights Reserved.