* device/lib/pic/libdev/*.c
[fw/sdcc] / device / include / pic / pic16f690.h
index 5b854e278c6a120f01a45da28bdd304fbeb5c84a..40bb044120b337aa9459bb569256e9942de10bb0 100644 (file)
@@ -4,7 +4,7 @@
 //
 // This header file was automatically generated by:
 //
-//     inc2h.pl V1.6
+//     inc2h.pl V4585
 //
 //     Copyright (c) 2002, Kevin L. Pauba, All Rights Reserved
 //
@@ -79,6 +79,7 @@
 #define BAUDCTL_ADDR   0x009B
 #define ADRESL_ADDR    0x009E
 #define ADCON1_ADDR    0x009F
+#define EEDAT_ADDR     0x010C
 #define EEDATA_ADDR    0x010C
 #define EEADR_ADDR     0x010D
 #define EEDATH_ADDR    0x010E
 
 //----- Register Files------------------------------------------------------
 
-extern __data __at (INDF_ADDR) volatile char      INDF;
+extern __sfr  __at (INDF_ADDR)                    INDF;
 extern __sfr  __at (TMR0_ADDR)                    TMR0;
-extern __data __at (PCL_ADDR) volatile char       PCL;
+extern __sfr  __at (PCL_ADDR)                     PCL;
 extern __sfr  __at (STATUS_ADDR)                  STATUS;
 extern __sfr  __at (FSR_ADDR)                     FSR;
 extern __sfr  __at (PORTA_ADDR)                   PORTA;
@@ -211,7 +212,7 @@ extern __sfr  __at (ADRESL_ADDR)                  ADRESL;
 extern __sfr  __at (ADCON1_ADDR)                  ADCON1;
 
 
-
+extern __sfr  __at (EEDAT_ADDR)                   EEDAT;
 extern __sfr  __at (EEDATA_ADDR)                  EEDATA;
 extern __sfr  __at (EEADR_ADDR)                   EEADR;
 extern __sfr  __at (EEDATH_ADDR)                  EEDATH;
@@ -357,6 +358,9 @@ extern __sfr  __at (SRCON_ADDR)                   SRCON;
 //----- CM2CON1 Bits -------------------------------------------------------
 
 
+//----- ANSELH -------------------------------------------------------------
+
+
 //----- ANSEL --------------------------------------------------------------
 
 
@@ -392,10 +396,10 @@ extern __sfr  __at (SRCON_ADDR)                   SRCON;
 #define _FCMEN_OFF           0x37FF
 #define _IESO_ON             0x3FFF
 #define _IESO_OFF            0x3BFF
-#define _BOD_ON              0x3FFF
-#define _BOD_NSLEEP          0x3EFF
-#define _BOD_SBODEN          0x3DFF
-#define _BOD_OFF             0x3CFF
+#define _BOR_ON              0x3FFF
+#define _BOR_NSLEEP          0x3EFF
+#define _BOR_SBODEN          0x3DFF
+#define _BOR_OFF             0x3CFF
 #define _CPD_ON              0x3F7F
 #define _CPD_OFF             0x3FFF
 #define _CP_ON               0x3FBF
@@ -467,27 +471,80 @@ extern volatile __ADCON0_bits_t __at(ADCON0_ADDR) ADCON0_bits;
 #define VCFG                 ADCON0_bits.VCFG
 #define ADFM                 ADCON0_bits.ADFM
 
-// ----- BAUDCTL bits --------------------
+// ----- ADCON1 bits --------------------
 typedef union {
   struct {
-    unsigned char ABDEN:1;
-    unsigned char WUE:1;
     unsigned char :1;
-    unsigned char BRG16:1;
-    unsigned char CKTXP:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char ADCS0:1;
     unsigned char ADCS1:1;
-    unsigned char RCIDL:1;
-    unsigned char ABDOVF:1;
+    unsigned char ADCS2:1;
+    unsigned char :1;
   };
+} __ADCON1_bits_t;
+extern volatile __ADCON1_bits_t __at(ADCON1_ADDR) ADCON1_bits;
+
+#define ADCS0                ADCON1_bits.ADCS0
+#define ADCS1                ADCON1_bits.ADCS1
+#define ADCS2                ADCON1_bits.ADCS2
+
+// ----- ANSEL bits --------------------
+typedef union {
+  struct {
+    unsigned char ANS0:1;
+    unsigned char ANS1:1;
+    unsigned char ANS2:1;
+    unsigned char ANS3:1;
+    unsigned char ANS4:1;
+    unsigned char ANS5:1;
+    unsigned char ANS6:1;
+    unsigned char ANS7:1;
+  };
+} __ANSEL_bits_t;
+extern volatile __ANSEL_bits_t __at(ANSEL_ADDR) ANSEL_bits;
+
+#define ANS0                 ANSEL_bits.ANS0
+#define ANS1                 ANSEL_bits.ANS1
+#define ANS2                 ANSEL_bits.ANS2
+#define ANS3                 ANSEL_bits.ANS3
+#define ANS4                 ANSEL_bits.ANS4
+#define ANS5                 ANSEL_bits.ANS5
+#define ANS6                 ANSEL_bits.ANS6
+#define ANS7                 ANSEL_bits.ANS7
+
+// ----- ANSELH bits --------------------
+typedef union {
   struct {
+    unsigned char ANS8:1;
+    unsigned char ANS9:1;
+    unsigned char ANS10:1;
+    unsigned char ANS11:1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
-    unsigned char ADCS0:1;
+  };
+} __ANSELH_bits_t;
+extern volatile __ANSELH_bits_t __at(ANSELH_ADDR) ANSELH_bits;
+
+#define ANS8                 ANSELH_bits.ANS8
+#define ANS9                 ANSELH_bits.ANS9
+#define ANS10                ANSELH_bits.ANS10
+#define ANS11                ANSELH_bits.ANS11
+
+// ----- BAUDCTL bits --------------------
+typedef union {
+  struct {
+    unsigned char ABDEN:1;
+    unsigned char WUE:1;
     unsigned char :1;
-    unsigned char ADCS2:1;
+    unsigned char BRG16:1;
+    unsigned char SCKP:1;
     unsigned char :1;
+    unsigned char RCIDL:1;
+    unsigned char ABDOVF:1;
   };
 } __BAUDCTL_bits_t;
 extern volatile __BAUDCTL_bits_t __at(BAUDCTL_ADDR) BAUDCTL_bits;
@@ -495,11 +552,8 @@ extern volatile __BAUDCTL_bits_t __at(BAUDCTL_ADDR) BAUDCTL_bits;
 #define ABDEN                BAUDCTL_bits.ABDEN
 #define WUE                  BAUDCTL_bits.WUE
 #define BRG16                BAUDCTL_bits.BRG16
-#define CKTXP                BAUDCTL_bits.CKTXP
-#define ADCS0                BAUDCTL_bits.ADCS0
-#define ADCS1                BAUDCTL_bits.ADCS1
+#define SCKP                 BAUDCTL_bits.SCKP
 #define RCIDL                BAUDCTL_bits.RCIDL
-#define ADCS2                BAUDCTL_bits.ADCS2
 #define ABDOVF               BAUDCTL_bits.ABDOVF
 
 // ----- CCP1CON bits --------------------
@@ -577,74 +631,20 @@ typedef union {
   struct {
     unsigned char C2SYNC:1;
     unsigned char T1GSS:1;
-    unsigned char ANS2:1;
-    unsigned char ANS3:1;
-    unsigned char ANS4:1;
-    unsigned char ANS5:1;
-    unsigned char MC2OUT:1;
-    unsigned char MC1OUT:1;
-  };
-  struct {
-    unsigned char ANS0:1;
-    unsigned char ANS1:1;
-    unsigned char WREN:1;
-    unsigned char WRERR:1;
-    unsigned char STRSYNC:1;
-    unsigned char C1SEN:1;
-    unsigned char ANS6:1;
-    unsigned char ANS7:1;
-  };
-  struct {
-    unsigned char RD:1;
-    unsigned char WR:1;
-    unsigned char STRC:1;
-    unsigned char STRD:1;
-    unsigned char C2REN:1;
     unsigned char :1;
-    unsigned char SR0:1;
-    unsigned char EEPGD:1;
-  };
-  struct {
-    unsigned char STRA:1;
-    unsigned char STRB:1;
-    unsigned char PULSR:1;
-    unsigned char PULSS:1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
-    unsigned char SR1:1;
+    unsigned char MC2OUT:1;
+    unsigned char MC1OUT:1;
   };
 } __CM2CON1_bits_t;
 extern volatile __CM2CON1_bits_t __at(CM2CON1_ADDR) CM2CON1_bits;
 
 #define C2SYNC               CM2CON1_bits.C2SYNC
-#define ANS0                 CM2CON1_bits.ANS0
-#define RD                   CM2CON1_bits.RD
-#define STRA                 CM2CON1_bits.STRA
 #define T1GSS                CM2CON1_bits.T1GSS
-#define ANS1                 CM2CON1_bits.ANS1
-#define WR                   CM2CON1_bits.WR
-#define STRB                 CM2CON1_bits.STRB
-#define ANS2                 CM2CON1_bits.ANS2
-#define WREN                 CM2CON1_bits.WREN
-#define STRC                 CM2CON1_bits.STRC
-#define PULSR                CM2CON1_bits.PULSR
-#define ANS3                 CM2CON1_bits.ANS3
-#define WRERR                CM2CON1_bits.WRERR
-#define STRD                 CM2CON1_bits.STRD
-#define PULSS                CM2CON1_bits.PULSS
-#define ANS4                 CM2CON1_bits.ANS4
-#define STRSYNC              CM2CON1_bits.STRSYNC
-#define C2REN                CM2CON1_bits.C2REN
-#define ANS5                 CM2CON1_bits.ANS5
-#define C1SEN                CM2CON1_bits.C1SEN
 #define MC2OUT               CM2CON1_bits.MC2OUT
-#define ANS6                 CM2CON1_bits.ANS6
-#define SR0                  CM2CON1_bits.SR0
 #define MC1OUT               CM2CON1_bits.MC1OUT
-#define ANS7                 CM2CON1_bits.ANS7
-#define EEPGD                CM2CON1_bits.EEPGD
-#define SR1                  CM2CON1_bits.SR1
 
 // ----- ECCPAS bits --------------------
 typedef union {
@@ -670,6 +670,27 @@ extern volatile __ECCPAS_bits_t __at(ECCPAS_ADDR) ECCPAS_bits;
 #define ECCPAS2              ECCPAS_bits.ECCPAS2
 #define ECCPASE              ECCPAS_bits.ECCPASE
 
+// ----- EECON1 bits --------------------
+typedef union {
+  struct {
+    unsigned char RD:1;
+    unsigned char WR:1;
+    unsigned char WREN:1;
+    unsigned char WRERR:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char EEPGD:1;
+  };
+} __EECON1_bits_t;
+extern volatile __EECON1_bits_t __at(EECON1_ADDR) EECON1_bits;
+
+#define RD                   EECON1_bits.RD
+#define WR                   EECON1_bits.WR
+#define WREN                 EECON1_bits.WREN
+#define WRERR                EECON1_bits.WRERR
+#define EEPGD                EECON1_bits.EEPGD
+
 // ----- INTCON bits --------------------
 typedef union {
   struct {
@@ -694,6 +715,70 @@ extern volatile __INTCON_bits_t __at(INTCON_ADDR) INTCON_bits;
 #define PEIE                 INTCON_bits.PEIE
 #define GIE                  INTCON_bits.GIE
 
+// ----- IOC bits --------------------
+typedef union {
+  struct {
+    unsigned char IOC0:1;
+    unsigned char IOC1:1;
+    unsigned char IOC2:1;
+    unsigned char IOC3:1;
+    unsigned char IOC4:1;
+    unsigned char IOC5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __IOC_bits_t;
+extern volatile __IOC_bits_t __at(IOC_ADDR) IOC_bits;
+
+#define IOC0                 IOC_bits.IOC0
+#define IOC1                 IOC_bits.IOC1
+#define IOC2                 IOC_bits.IOC2
+#define IOC3                 IOC_bits.IOC3
+#define IOC4                 IOC_bits.IOC4
+#define IOC5                 IOC_bits.IOC5
+
+// ----- IOCA bits --------------------
+typedef union {
+  struct {
+    unsigned char IOCA0:1;
+    unsigned char IOCA1:1;
+    unsigned char IOCA2:1;
+    unsigned char IOCA3:1;
+    unsigned char IOCA4:1;
+    unsigned char IOCA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __IOCA_bits_t;
+extern volatile __IOCA_bits_t __at(IOCA_ADDR) IOCA_bits;
+
+#define IOCA0                IOCA_bits.IOCA0
+#define IOCA1                IOCA_bits.IOCA1
+#define IOCA2                IOCA_bits.IOCA2
+#define IOCA3                IOCA_bits.IOCA3
+#define IOCA4                IOCA_bits.IOCA4
+#define IOCA5                IOCA_bits.IOCA5
+
+// ----- IOCB bits --------------------
+typedef union {
+  struct {
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char IOCB4:1;
+    unsigned char IOCB5:1;
+    unsigned char IOCB6:1;
+    unsigned char IOCB7:1;
+  };
+} __IOCB_bits_t;
+extern volatile __IOCB_bits_t __at(IOCB_ADDR) IOCB_bits;
+
+#define IOCB4                IOCB_bits.IOCB4
+#define IOCB5                IOCB_bits.IOCB5
+#define IOCB6                IOCB_bits.IOCB6
+#define IOCB7                IOCB_bits.IOCB7
+
 // ----- OPTION_REG bits --------------------
 typedef union {
   struct {
@@ -765,11 +850,11 @@ extern volatile __OSCTUNE_bits_t __at(OSCTUNE_ADDR) OSCTUNE_bits;
 // ----- PCON bits --------------------
 typedef union {
   struct {
-    unsigned char NOT_BOD:1;
+    unsigned char NOT_BOR:1;
     unsigned char NOT_POR:1;
     unsigned char :1;
     unsigned char :1;
-    unsigned char SBODEN:1;
+    unsigned char SBOREN:1;
     unsigned char ULPWUE:1;
     unsigned char :1;
     unsigned char :1;
@@ -777,9 +862,9 @@ typedef union {
 } __PCON_bits_t;
 extern volatile __PCON_bits_t __at(PCON_ADDR) PCON_bits;
 
-#define NOT_BOD              PCON_bits.NOT_BOD
+#define NOT_BOR              PCON_bits.NOT_BOR
 #define NOT_POR              PCON_bits.NOT_POR
-#define SBODEN               PCON_bits.SBODEN
+#define SBOREN               PCON_bits.SBOREN
 #define ULPWUE               PCON_bits.ULPWUE
 
 // ----- PIE1 bits --------------------
@@ -787,7 +872,7 @@ typedef union {
   struct {
     unsigned char T1IE:1;
     unsigned char T2IE:1;
-    unsigned char CCPIE:1;
+    unsigned char CCP1IE:1;
     unsigned char SSPIE:1;
     unsigned char TXIE:1;
     unsigned char RCIE:1;
@@ -811,7 +896,7 @@ extern volatile __PIE1_bits_t __at(PIE1_ADDR) PIE1_bits;
 #define TMR1IE               PIE1_bits.TMR1IE
 #define T2IE                 PIE1_bits.T2IE
 #define TMR2IE               PIE1_bits.TMR2IE
-#define CCPIE                PIE1_bits.CCPIE
+#define CCP1IE               PIE1_bits.CCP1IE
 #define SSPIE                PIE1_bits.SSPIE
 #define TXIE                 PIE1_bits.TXIE
 #define RCIE                 PIE1_bits.RCIE
@@ -892,6 +977,97 @@ extern volatile __PIR2_bits_t __at(PIR2_ADDR) PIR2_bits;
 #define C2IF                 PIR2_bits.C2IF
 #define OSFIF                PIR2_bits.OSFIF
 
+// ----- PORTA bits --------------------
+typedef union {
+  struct {
+    unsigned char RA0:1;
+    unsigned char RA1:1;
+    unsigned char RA2:1;
+    unsigned char RA3:1;
+    unsigned char RA4:1;
+    unsigned char RA5:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __PORTA_bits_t;
+extern volatile __PORTA_bits_t __at(PORTA_ADDR) PORTA_bits;
+
+#define RA0                  PORTA_bits.RA0
+#define RA1                  PORTA_bits.RA1
+#define RA2                  PORTA_bits.RA2
+#define RA3                  PORTA_bits.RA3
+#define RA4                  PORTA_bits.RA4
+#define RA5                  PORTA_bits.RA5
+
+// ----- PORTB bits --------------------
+typedef union {
+  struct {
+    unsigned char RB0:1;
+    unsigned char RB1:1;
+    unsigned char RB2:1;
+    unsigned char RB3:1;
+    unsigned char RB4:1;
+    unsigned char RB5:1;
+    unsigned char RB6:1;
+    unsigned char RB7:1;
+  };
+} __PORTB_bits_t;
+extern volatile __PORTB_bits_t __at(PORTB_ADDR) PORTB_bits;
+
+#define RB0                  PORTB_bits.RB0
+#define RB1                  PORTB_bits.RB1
+#define RB2                  PORTB_bits.RB2
+#define RB3                  PORTB_bits.RB3
+#define RB4                  PORTB_bits.RB4
+#define RB5                  PORTB_bits.RB5
+#define RB6                  PORTB_bits.RB6
+#define RB7                  PORTB_bits.RB7
+
+// ----- PORTC bits --------------------
+typedef union {
+  struct {
+    unsigned char RC0:1;
+    unsigned char RC1:1;
+    unsigned char RC2:1;
+    unsigned char RC3:1;
+    unsigned char RC4:1;
+    unsigned char RC5:1;
+    unsigned char RC6:1;
+    unsigned char RC7:1;
+  };
+} __PORTC_bits_t;
+extern volatile __PORTC_bits_t __at(PORTC_ADDR) PORTC_bits;
+
+#define RC0                  PORTC_bits.RC0
+#define RC1                  PORTC_bits.RC1
+#define RC2                  PORTC_bits.RC2
+#define RC3                  PORTC_bits.RC3
+#define RC4                  PORTC_bits.RC4
+#define RC5                  PORTC_bits.RC5
+#define RC6                  PORTC_bits.RC6
+#define RC7                  PORTC_bits.RC7
+
+// ----- PSTRCON bits --------------------
+typedef union {
+  struct {
+    unsigned char STRA:1;
+    unsigned char STRB:1;
+    unsigned char STRC:1;
+    unsigned char STRD:1;
+    unsigned char STRSYNC:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+} __PSTRCON_bits_t;
+extern volatile __PSTRCON_bits_t __at(PSTRCON_ADDR) PSTRCON_bits;
+
+#define STRA                 PSTRCON_bits.STRA
+#define STRB                 PSTRCON_bits.STRB
+#define STRC                 PSTRCON_bits.STRC
+#define STRD                 PSTRCON_bits.STRD
+#define STRSYNC              PSTRCON_bits.STRSYNC
+
 // ----- PWM1CON bits --------------------
 typedef union {
   struct {
@@ -988,6 +1164,28 @@ extern volatile __SPBRGH_bits_t __at(SPBRGH_ADDR) SPBRGH_bits;
 #define BRG14                SPBRGH_bits.BRG14
 #define BRG15                SPBRGH_bits.BRG15
 
+// ----- SRCON bits --------------------
+typedef union {
+  struct {
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char PULSR:1;
+    unsigned char PULSS:1;
+    unsigned char C2REN:1;
+    unsigned char C1SEN:1;
+    unsigned char SR0:1;
+    unsigned char SR1:1;
+  };
+} __SRCON_bits_t;
+extern volatile __SRCON_bits_t __at(SRCON_ADDR) SRCON_bits;
+
+#define PULSR                SRCON_bits.PULSR
+#define PULSS                SRCON_bits.PULSS
+#define C2REN                SRCON_bits.C2REN
+#define C1SEN                SRCON_bits.C1SEN
+#define SR0                  SRCON_bits.SR0
+#define SR1                  SRCON_bits.SR1
+
 // ----- SSPCON bits --------------------
 typedef union {
   struct {
@@ -1017,40 +1215,60 @@ typedef union {
   struct {
     unsigned char BF:1;
     unsigned char UA:1;
-    unsigned char R_W_NOT:1;
+    unsigned char R:1;
     unsigned char S:1;
     unsigned char P:1;
-    unsigned char D_A_NOT:1;
+    unsigned char D:1;
     unsigned char CKE:1;
     unsigned char SMP:1;
   };
   struct {
-    unsigned char WPUA0:1;
-    unsigned char WPUA1:1;
-    unsigned char WPUA2:1;
-    unsigned char IOC3:1;
-    unsigned char WPUA4:1;
-    unsigned char WPUA5:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char I2C_READ:1;
+    unsigned char I2C_START:1;
+    unsigned char I2C_STOP:1;
+    unsigned char I2C_DATA:1;
     unsigned char :1;
     unsigned char :1;
   };
   struct {
-    unsigned char IOC0:1;
-    unsigned char IOC1:1;
-    unsigned char IOC2:1;
-    unsigned char IOCA3:1;
-    unsigned char IOC4:1;
-    unsigned char IOC5:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char NOT_W:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char NOT_A:1;
     unsigned char :1;
     unsigned char :1;
   };
   struct {
-    unsigned char IOCA0:1;
-    unsigned char IOCA1:1;
-    unsigned char IOCA2:1;
     unsigned char :1;
-    unsigned char IOCA4:1;
-    unsigned char IOCA5:1;
+    unsigned char :1;
+    unsigned char NOT_WRITE:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char NOT_ADDRESS:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+  struct {
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char R_W:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char D_A:1;
+    unsigned char :1;
+    unsigned char :1;
+  };
+  struct {
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char READ_WRITE:1;
+    unsigned char :1;
+    unsigned char :1;
+    unsigned char DATA_ADDRESS:1;
     unsigned char :1;
     unsigned char :1;
   };
@@ -1058,28 +1276,23 @@ typedef union {
 extern volatile __SSPSTAT_bits_t __at(SSPSTAT_ADDR) SSPSTAT_bits;
 
 #define BF                   SSPSTAT_bits.BF
-#define WPUA0                SSPSTAT_bits.WPUA0
-#define IOC0                 SSPSTAT_bits.IOC0
-#define IOCA0                SSPSTAT_bits.IOCA0
 #define UA                   SSPSTAT_bits.UA
-#define WPUA1                SSPSTAT_bits.WPUA1
-#define IOC1                 SSPSTAT_bits.IOC1
-#define IOCA1                SSPSTAT_bits.IOCA1
-#define R_W_NOT              SSPSTAT_bits.R_W_NOT
-#define WPUA2                SSPSTAT_bits.WPUA2
-#define IOC2                 SSPSTAT_bits.IOC2
-#define IOCA2                SSPSTAT_bits.IOCA2
+#define R                    SSPSTAT_bits.R
+#define I2C_READ             SSPSTAT_bits.I2C_READ
+#define NOT_W                SSPSTAT_bits.NOT_W
+#define NOT_WRITE            SSPSTAT_bits.NOT_WRITE
+#define R_W                  SSPSTAT_bits.R_W
+#define READ_WRITE           SSPSTAT_bits.READ_WRITE
 #define S                    SSPSTAT_bits.S
-#define IOC3                 SSPSTAT_bits.IOC3
-#define IOCA3                SSPSTAT_bits.IOCA3
+#define I2C_START            SSPSTAT_bits.I2C_START
 #define P                    SSPSTAT_bits.P
-#define WPUA4                SSPSTAT_bits.WPUA4
-#define IOC4                 SSPSTAT_bits.IOC4
-#define IOCA4                SSPSTAT_bits.IOCA4
-#define D_A_NOT              SSPSTAT_bits.D_A_NOT
-#define WPUA5                SSPSTAT_bits.WPUA5
-#define IOC5                 SSPSTAT_bits.IOC5
-#define IOCA5                SSPSTAT_bits.IOCA5
+#define I2C_STOP             SSPSTAT_bits.I2C_STOP
+#define D                    SSPSTAT_bits.D
+#define I2C_DATA             SSPSTAT_bits.I2C_DATA
+#define NOT_A                SSPSTAT_bits.NOT_A
+#define NOT_ADDRESS          SSPSTAT_bits.NOT_ADDRESS
+#define D_A                  SSPSTAT_bits.D_A
+#define DATA_ADDRESS         SSPSTAT_bits.DATA_ADDRESS
 #define CKE                  SSPSTAT_bits.CKE
 #define SMP                  SSPSTAT_bits.SMP
 
@@ -1289,38 +1502,45 @@ extern volatile __WDTCON_bits_t __at(WDTCON_ADDR) WDTCON_bits;
 #define WDTPS2               WDTCON_bits.WDTPS2
 #define WDTPS3               WDTCON_bits.WDTPS3
 
-// ----- WPUB bits --------------------
+// ----- WPUA bits --------------------
 typedef union {
   struct {
+    unsigned char WPUA0:1;
+    unsigned char WPUA1:1;
+    unsigned char WPUA2:1;
     unsigned char :1;
+    unsigned char WPUA4:1;
+    unsigned char WPUA5:1;
     unsigned char :1;
     unsigned char :1;
-    unsigned char :1;
-    unsigned char WPUB4:1;
-    unsigned char WPUB5:1;
-    unsigned char WPUB6:1;
-    unsigned char WPUB7:1;
   };
+} __WPUA_bits_t;
+extern volatile __WPUA_bits_t __at(WPUA_ADDR) WPUA_bits;
+
+#define WPUA0                WPUA_bits.WPUA0
+#define WPUA1                WPUA_bits.WPUA1
+#define WPUA2                WPUA_bits.WPUA2
+#define WPUA4                WPUA_bits.WPUA4
+#define WPUA5                WPUA_bits.WPUA5
+
+// ----- WPUB bits --------------------
+typedef union {
   struct {
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
     unsigned char :1;
-    unsigned char IOCB4:1;
-    unsigned char IOCB5:1;
-    unsigned char IOCB6:1;
-    unsigned char IOCB7:1;
+    unsigned char WPUB4:1;
+    unsigned char WPUB5:1;
+    unsigned char WPUB6:1;
+    unsigned char WPUB7:1;
   };
 } __WPUB_bits_t;
 extern volatile __WPUB_bits_t __at(WPUB_ADDR) WPUB_bits;
 
 #define WPUB4                WPUB_bits.WPUB4
-#define IOCB4                WPUB_bits.IOCB4
 #define WPUB5                WPUB_bits.WPUB5
-#define IOCB5                WPUB_bits.IOCB5
 #define WPUB6                WPUB_bits.WPUB6
-#define IOCB6                WPUB_bits.IOCB6
 #define WPUB7                WPUB_bits.WPUB7
-#define IOCB7                WPUB_bits.IOCB7
 
 #endif