#ifndef __MEGA48IOBIT_H__
#define __MEGA48IOBIT_H__
typedef struct _bit_field
{
unsigned bit0:1;
unsigned bit1:1;
unsigned bit2:1;
unsigned bit3:1;
unsigned bit4:1;
unsigned bit5:1;
unsigned bit6:1;
unsigned bit7:1;
}bit_field;
#define _PIND 0x29
#define PIND00 (*(volatile bit_field*)(_PIND)).bit0
#define PIND01 (*(volatile bit_field*)(_PIND)).bit1
#define PIND02 (*(volatile bit_field*)(_PIND)).bit2
#define PIND03 (*(volatile bit_field*)(_PIND)).bit3
#define PIND04 (*(volatile bit_field*)(_PIND)).bit4
#define PIND05 (*(volatile bit_field*)(_PIND)).bit5
#define PIND06 (*(volatile bit_field*)(_PIND)).bit6
#define PIND07 (*(volatile bit_field*)(_PIND)).bit7
#define _DDRD 0x2A
#define DDRD00 (*(volatile bit_field*)(_DDRD)).bit0
#define DDRD01 (*(volatile bit_field*)(_DDRD)).bit1
#define DDRD02 (*(volatile bit_field*)(_DDRD)).bit2
#define DDRD03 (*(volatile bit_field*)(_DDRD)).bit3
#define DDRD04 (*(volatile bit_field*)(_DDRD)).bit4
#define DDRD05 (*(volatile bit_field*)(_DDRD)).bit5
#define DDRD06 (*(volatile bit_field*)(_DDRD)).bit6
#define DDRD07 (*(volatile bit_field*)(_DDRD)).bit7
#define _PORTD 0x2B
#define PORTD00 (*(volatile bit_field*)(_PORTD)).bit0
#define PORTD01 (*(volatile bit_field*)(_PORTD)).bit1
#define PORTD02 (*(volatile bit_field*)(_PORTD)).bit2
#define PORTD03 (*(volatile bit_field*)(_PORTD)).bit3
#define PORTD04 (*(volatile bit_field*)(_PORTD)).bit4
#define PORTD05 (*(volatile bit_field*)(_PORTD)).bit5
#define PORTD06 (*(volatile bit_field*)(_PORTD)).bit6
#define PORTD07 (*(volatile bit_field*)(_PORTD)).bit7
#define _PINC 0x26
#define PINC00 (*(volatile bit_field*)(_PINC)).bit0
#define PINC01 (*(volatile bit_field*)(_PINC)).bit1
#define PINC02 (*(volatile bit_field*)(_PINC)).bit2
#define PINC03 (*(volatile bit_field*)(_PINC)).bit3
#define PINC04 (*(volatile bit_field*)(_PINC)).bit4
#define PINC05 (*(volatile bit_field*)(_PINC)).bit5
#define PINC06 (*(volatile bit_field*)(_PINC)).bit6
#define PINC07 (*(volatile bit_field*)(_PINC)).bit7
#define _DDRC 0x27
#define DDRC00 (*(volatile bit_field*)(_DDRC)).bit0
#define DDRC01 (*(volatile bit_field*)(_DDRC)).bit1
#define DDRC02 (*(volatile bit_field*)(_DDRC)).bit2
#define DDRC03 (*(volatile bit_field*)(_DDRC)).bit3
#define DDRC04 (*(volatile bit_field*)(_DDRC)).bit4
#define DDRC05 (*(volatile bit_field*)(_DDRC)).bit5
#define DDRC06 (*(volatile bit_field*)(_DDRC)).bit6
#define DDRC07 (*(volatile bit_field*)(_DDRC)).bit7
#define _PORTC 0x28
#define PORTC00 (*(volatile bit_field*)(_PORTC)).bit0
#define PORTC01 (*(volatile bit_field*)(_PORTC)).bit1
#define PORTC02 (*(volatile bit_field*)(_PORTC)).bit2
#define PORTC03 (*(volatile bit_field*)(_PORTC)).bit3
#define PORTC04 (*(volatile bit_field*)(_PORTC)).bit4
#define PORTC05 (*(volatile bit_field*)(_PORTC)).bit5
#define PORTC06 (*(volatile bit_field*)(_PORTC)).bit6
#define PORTC07 (*(volatile bit_field*)(_PORTC)).bit7
#define _PINB 0x23
#define PINB00 (*(volatile bit_field*)(_PINB)).bit0
#define PINB01 (*(volatile bit_field*)(_PINB)).bit1
#define PINB02 (*(volatile bit_field*)(_PINB)).bit2
#define PINB03 (*(volatile bit_field*)(_PINB)).bit3
#define PINB04 (*(volatile bit_field*)(_PINB)).bit4
#define PINB05 (*(volatile bit_field*)(_PINB)).bit5
#define PINB06 (*(volatile bit_field*)(_PINB)).bit6
#define PINB07 (*(volatile bit_field*)(_PINB)).bit7
#define _DDRB 0x24
#define DDRB00 (*(volatile bit_field*)(_DDRB)).bit0
#define DDRB01 (*(volatile bit_field*)(_DDRB)).bit1
#define DDRB02 (*(volatile bit_field*)(_DDRB)).bit2
#define DDRB03 (*(volatile bit_field*)(_DDRB)).bit3
#define DDRB04 (*(volatile bit_field*)(_DDRB)).bit4
#define DDRB05 (*(volatile bit_field*)(_DDRB)).bit5
#define DDRB06 (*(volatile bit_field*)(_DDRB)).bit6
#define DDRB07 (*(volatile bit_field*)(_DDRB)).bit7
#define _PORTB 0x25
#define PORTB00 (*(volatile bit_field*)(_PORTB)).bit0
#define PORTB01 (*(volatile bit_field*)(_PORTB)).bit1
#define PORTB02 (*(volatile bit_field*)(_PORTB)).bit2
#define PORTB03 (*(volatile bit_field*)(_PORTB)).bit3
#define PORTB04 (*(volatile bit_field*)(_PORTB)).bit4
#define PORTB05 (*(volatile bit_field*)(_PORTB)).bit5
#define PORTB06 (*(volatile bit_field*)(_PORTB)).bit6
#define PORTB07 (*(volatile bit_field*)(_PORTB)).bit7
#endif