/* clear CAM */
                flush_all_cam_entry(padapter);
 
-               memcpy(pnetwork, pbuf, FIELD_OFFSET(struct wlan_bssid_ex, IELength));
+               memcpy(pnetwork, pbuf, offsetof(struct wlan_bssid_ex, IELength));
                pnetwork->IELength = ((struct wlan_bssid_ex *)pbuf)->IELength;
 
                if (pnetwork->IELength > MAX_IE_SZ)/* Check pbuf->IELength */
        pmlmeinfo->candidate_tid_bitmap = 0;
        pmlmeinfo->bwmode_updated = false;
 
-       memcpy(pnetwork, pbuf, FIELD_OFFSET(struct wlan_bssid_ex, IELength));
+       memcpy(pnetwork, pbuf, offsetof(struct wlan_bssid_ex, IELength));
        pnetwork->IELength = ((struct wlan_bssid_ex *)pbuf)->IELength;
 
        if (pnetwork->IELength > MAX_IE_SZ)/* Check pbuf->IELength */
 
 };
 
 /* For registry parameters */
-#define RGTRY_OFT(field) ((u32)FIELD_OFFSET(struct registry_priv, field))
+#define RGTRY_OFT(field) ((u32)offsetof(struct registry_priv, field))
 #define RGTRY_SZ(field)   sizeof(((struct registry_priv *)0)->field)
-#define BSSID_OFT(field) ((u32)FIELD_OFFSET(struct wlan_bssid_ex, field))
+#define BSSID_OFT(field) ((u32)offsetofT(struct wlan_bssid_ex, field))
 #define BSSID_SZ(field)   sizeof(((struct wlan_bssid_ex *)0)->field)
 
 #define MAX_CONTINUAL_URB_ERR          4
 
 
                if (wep_key_len > 0) {
                        wep_key_len = wep_key_len <= 5 ? 5 : 13;
-                       wep_total_len = wep_key_len + FIELD_OFFSET(struct ndis_802_11_wep, KeyMaterial);
+                       wep_total_len = wep_key_len + offsetof(struct ndis_802_11_wep, KeyMaterial);
                        pwep = (struct ndis_802_11_wep *)rtw_malloc(wep_total_len);
                        if (pwep == NULL) {
                                RT_TRACE(_module_rtl871x_ioctl_os_c, _drv_err_, (" wpa_set_encryption: pwep allocate fail !!!\n"));
        if (erq->length > 0) {
                wep.KeyLength = erq->length <= 5 ? 5 : 13;
 
-               wep.Length = wep.KeyLength + FIELD_OFFSET(struct ndis_802_11_wep, KeyMaterial);
+               wep.Length = wep.KeyLength + offsetof(struct ndis_802_11_wep, KeyMaterial);
        } else {
                wep.KeyLength = 0;
 
 
                if (wep_key_len > 0) {
                        wep_key_len = wep_key_len <= 5 ? 5 : 13;
-                       wep_total_len = wep_key_len + FIELD_OFFSET(struct ndis_802_11_wep, KeyMaterial);
+                       wep_total_len = wep_key_len + offsetof(struct ndis_802_11_wep, KeyMaterial);
                        pwep = (struct ndis_802_11_wep *)rtw_malloc(wep_total_len);
                        if (pwep == NULL) {
                                DBG_88E(" r871x_set_encryption: pwep allocate fail !!!\n");