SOLVED : How does HardwareSerial.h know what RAMEND is ?

I do not understand how HardwareSerial.h knows what RAMSTART and RAMEND is because that is in iom328p.h file which is not included in HardwareSerial.h, neither is "avr/io.h" which includes "iom328p.h" (for my chip). avr/io.h is included in my *.ino file but that would not expose whats in "iom328.p" to HardwareSerial.h.

So, how is RAMSTART, RAMEND known to HardwareSerial.h ?

Thanks

Arduino.h includes HardwareSerial.h after including avr/io.h:

The include of Arduino.h is automatically added to the sketch during the build process.

HardwareSerial.h does eventually include avr/io.h through this chain:

HardwareSerial.h
Stream.h
Print.h
WString.h
avr/pgmspace.h
avr/io.h

Ok, thanks guys.