C
typedef union { struct { DWORD _u320; DWORD _u321; DWORD _u322; DWORD _u323; } struct { BYTE _byte[16]; } struct { unsigned NOT_USED : 1; unsigned CRC : 7; unsigned ECC : 2; unsigned FILE_FORMAT : 2; unsigned TMP_WRITE_PROTECT : 1; unsigned PERM_WRITE_PROTECT : 1; unsigned COPY : 1; unsigned FILE_FORMAT_GRP : 1; unsigned RESERVED_1 : 5; unsigned WRITE_BL_PARTIAL : 1; unsigned WRITE_BL_LEN_L : 2; unsigned WRITE_BL_LEN_H : 2; unsigned R2W_FACTOR : 3; unsigned DEFAULT_ECC : 2; unsigned WP_GRP_ENABLE : 1; unsigned WP_GRP_SIZE : 5; unsigned ERASE_GRP_SIZE_L : 3; unsigned ERASE_GRP_SIZE_H : 2; unsigned SECTOR_SIZE : 5; unsigned C_SIZE_MULT_L : 1; unsigned C_SIZE_MULT_H : 2; unsigned VDD_W_CURR_MAX : 3; unsigned VDD_W_CUR_MIN : 3; unsigned VDD_R_CURR_MAX : 3; unsigned VDD_R_CURR_MIN : 3; unsigned C_SIZE_L : 2; unsigned C_SIZE_H : 8; unsigned C_SIZE_U : 2; unsigned RESERVED_2 : 2; unsigned DSR_IMP : 1; unsigned READ_BLK_MISALIGN : 1; unsigned WRITE_BLK_MISALIGN : 1; unsigned READ_BL_PARTIAL : 1; unsigned READ_BL_LEN : 4; unsigned CCC_L : 4; unsigned CCC_H : 8; unsigned TRAN_SPEED : 8; unsigned NSAC : 8; unsigned TAAC : 8; unsigned RESERVED_3 : 2; unsigned SPEC_VERS : 4; unsigned CSD_STRUCTURE : 2; } } CSD;
Description
This union represents different ways to access information in a packet with SD card CSD informaiton. For more information on the CSD register, consult an SD card user's manual.