Hi Experts,
I am developing a windows driver,in which I have the following structure. In the structure am supposed to use multiple zero initialized arrays to get the exact offset value. But when i tried to use like that I got C2229 error which says that zero initialized array should be the last member of the structure. What should I need to do so that I can retain my structure.
struct My _Struct{
__be64 i_01[2633];
__be64 base_addr_atsp[3]; /* Offset 0x5248 */
__be64 i_03[41181];
__be64 base_addr_ah[3]; /* Offset 0x55948 */
__be64 i_04[0];*/
__be64 base_dr_qp[3]; /* Offset 0x55960 */
__be64 i_05[2174];
__be64 base_addr_sq_cmpl[3]; /* Offset 0x59d68 */
__be64 i_06[0];
__be64 base_key[3]; /* Offset 0x59d80 */
__be64 i_07[14];
__be64 base_rqsp[3]; /* Offset 0x59e08 */
__be64 i_08[0];
__be64 base_addr_rq_sw[3]; /* Offset 0x59e20 */
__be64 i_09[0];
__be64 base_rq_hw[3]; /* Offset 0x59e38 */
__be64 i_10[52175];
__be64 ibpr_p1_mac1; /* Offset 0xbfcb8 */
__be64 i_11[0];
__be64 ibpr_p1_mac2; /* Offset 0xbfcc0 */
__be64 i_12[0];
__be64 ibpr_p2_mac1; /* Offset 0xbfcc8 */
__be64 i_13[0];
__be64 ibpr_p_mac2; /* Offset 0xbfcd0 */
__be64 i_14[2316];
__be64 base_sq_sw[3]; /* Offset 0xc4548 */
__be64 i_15[0];
__be64 base_sq_hw[3]; /* Offset 0xc4560 */
__be64 i_16[244];
__be64 base_sq_ring[3]; /* Offset 0xc4d18 */
__be64 i_17[71];
__be64 base_sq_rspq[3]; /* Offset 0xc4f68 */
__be64 i_18[129];
__be64 base_sq_tvl[3]; /* Offset 0xc5388 */
__be64 i_19[4244];
__be64 base_cq_sw[3]; /* Offset 0xcd7a0 */
__be64 i_20[0];
__be64 base_cq_hw[3]; /* Offset 0xcd7b8 */
__be64 i_21[580];
}; /* struct My_Struct [6770560 bits] */
Thanks in Advance