Patent ID: 7587722

Claim:
A system for extending a subsystem of an operating system, comprising: a processor; a set of insertion points for the subsystem of the operating system, the insertion points identifying points in program logic of the subsystem of the operating system where extending logic may be added, the insertion points being established prior to the availability of the extending logic, the extending logic added by providing a function that is to be called by the subsystem of the operating system when the subsystem of the operating system performs a command associated with an insertion point to which the function corresponds; a library that provides functions to the subsystem of the operating system, the functions comprising program logic for extending the subsystem of the operating system, the functions corresponding to at least a subset of the set of insertion points; and a component that: indicates a correspondence between the insertion points and the functions, the correspondence indicating the subset of insertion points provided by the library, the component for use by the subsystem of the operating system to determine which insertion points have a corresponding function and which function of the library to call for an insertion point; and dynamically adds to the dynamically updated system call table a system call number for each of the functions in the library so that if the subsystem receives a request to perform an action, the action having a corresponding insertion point and generally associated with the subsystem of the operating system, the component; determines from the list whether a function appears in the library that corresponds to the requested action; and if the function appears in the library that corresponds to the requested action, identifies based on the dynamically updated system call table the dynamically added system call number for the function and invokes the function via the dynamically added system call number.