I’ve paraphrased here the relevant portion of the manpage for people who have trouble finding it:
The first character indicates what is happening to the file:
<means that a file is being transferred to the remote host (sent).>means that a file is being transferred to the local host (received).cmeans that a local change/creation is occurring for the item (such as the creation of a directory or the changing of a symlink, etc.).hmeans that the item is a hard link to another item (requires –hard-links)..means that the item is not being updated (though it might have attributes that are being modified).*means that the rest of the itemized-output area contains a message (e.g. “deleting”).
The second character indicates what type of directory entry it is. Specifically:
ffor filedfor directoryLfor symbolic linkDfor deviceSfor special file (e.g. socket or fifo)
The remaining columns are described below:
cmeans either that a regular file has a different checksum or that a symlink, device, or special file has a changed value.smeans the size of a regular file is different and will be updated by the file transfer.torT:tmeans the modification time is different and is being updated to the sender’s valueTmeans that the modification time will be set to the transfer time
pmeans the permissions are different and are being updated to the sender’s valueomeans the owner is different and is being updated to the sender’s valuegmeans the group is different and is being updated to the sender’s value.unused
The following columns may not be present, depending on your transfer options
ameans that the ACL information changedxmeans that the extended attribute information changed