card layouts used for rapid prototyping as well as for initializing and personalizing large quantities of cards.
Special high-level interface modules, called agents, enable applications to access smartcards. As IBM, which offers its Smart Card Toolkit, puts it: Agents are the application program's data-oriented interfaces to the smartcard. They "encapsulate the specifics of an individual card operating system by interactively communicating with the card." Agents process all necessary access conditions and generate any requests for cryptographic services, thus off-loading a considerable amount of application development work.
Like hard drives and floppy disks, smartcards have their own file systems. An IBM Multifunction card, for example, has a master file (the root directory), dedicated files (application directories), and elementary files (the actual application data). Several file types
are supported, including linear files with either fixed- or variable-length records, linear cyclic files with fixed-length records, and transparent files.
There are also application-specific command (ASC) files that contain executable code. The commands in the ASC are executed when the application using the ASC is within the selected path and an appropriate ASC command is issued.