The IFS services are functions within the IFS manager that are exported to FSDs. These functions are provided to help the FSD support the routines called by the IFS. Some services are C callable and use C parameter passing and C return conventions. C callable services use the C6 386 _cdecl calling sequence. Return values for C callable services are usually returned in EAX for long and EDX:EAX for quad-words. Services that are C callable have C prototypes defined for them and preserve the normal C registers i.e EBX, ESI, EDI and the segment registers. Other services use register conventions and are callable only from assembly language.