Qual é a diferença entre _LARGEFILE_SOURCE e _FILE_OFFSET_BITS = 64?

Eu entendi aquilo-D_FILE_OFFSET_BITS=64 causasoff_t ser 64bits. Então, o que-D_LARGEFILE_SOURCE isso não é feito já por-D_FILE_OFFSET_BITS=64? O que essas definições fazem exatamente?