This code is written to be portable. It accesses little_data (i.e., data that's known to be stored in little-endian format, perhaps as a result of some on-media storage scheme), and then manipulates it, writing the data back. This illustrates that the ENDIAN_*() macros are bidirectional:
uint16_t native_data; uint16_t little_data; native_data = ENDIAN_LE16 (little_data);// used as "from little-endian" native_data++; // do something with native form little_data = ENDIAN_LE16 (native_data);// used as "to little-endian"