Resources | developer.brewmp.com Resources | developer.brewmp.com

Developer

resources

Module files

The Component Information File (CIF)

A MIF is created from one or more component information files (CIF's), which declare a given component in plain text format. The constructed MIF is a union of all the system resources described by its CIFs. The CIF Compiler (CIFC) tool is used to construct the MIF from its CIFs.

A CIF can contain the following declarations:

  • Class declaration: A class declaration lists the ClassID of an exported class, the name of the New function that implements the constructor, and whether or not the class is private.
  • Service declaration: A service declaration associates a ClassID with the ID of the process in which it should be created. OS Services uses this information when service open requests are made.
  • Server declaration: A server declaration associates a unique ID for a server process with creation parameters for that process: the list of privilege IDs that are to be granted, the number of server threads to be pre-created.
  • System resource: Generic system resources, identified by a unique ID and by a 32-bit type, can also be declared in a CIF.

For more information on CIF file content, see the Resource File and Markup Reference in http://developer.brewmp.com/resources on the Brew MP website.

Signature Files

Signature files are required for dynamic modules. Signature files contain digital signatures that cover the executable, MIF, and optionally, other files. Signature files are stored in the module directory.

Static modules do not have signatures. The code, MIF, and other resources of a static module are assumed to be protected to the same extent that the boot image itself is protected.

For more information, see Code Authorization on Brew MP through Digital Signing in http://developer.brewmp.com/resources on the Brew MP website.

Executable Files

Executable code for a dynamic module resides in a single file in the module directory. Static modules are not associated with executable files, whose code resides in the boot image.

Module Directories

Each module has an associated module directory. The module directory is used by OS Services to locate constituent files of a module (such as the executable file). Other software in the system can also use the module directory to locate files that are associated with a module.