how does Serial.read work?

hello everyone,
How does Serial.read() get its data from FIFO Buffer? Can anyone give me any I ideas on how it works?
THanks

You have the source code for Serial.read - you could look at it.

void setup(){
  Serial.begin(9600);
}
void loop(){
 if(Serial.available()>0){
   value=Serial.read();
   total=total+value;
    Serial.print("value: ");
   Serial.println(value);
   Serial.print("Total: ");
   Serial.println(total);
   }
}

Where can find the Arduino source code for serial.read()?
I tried to find that in the Arduino 1.0.5 file. So do you know where i can find it?

HardwareSerial.cpp

Thank you AWOL