#include <stdio.h>
#include <libcomprex/types.h>
#include <libcomprex/fsnode.h>
#include <libcomprex/fp.h>
#include <libcomprex/directory.h>
Go to the source code of this file.
Data Structures | |
struct | _CxArchiveOps |
File operations structure. More... | |
struct | _CxModule |
A file or scheme module. More... | |
struct | _CxSchemeOps |
Scheme operations structure. More... | |
Defines | |
#define | CX_INIT_ARCHIVE_MODULE(modname, initfunc, archiveops) |
Handles the initialization of modules. | |
#define | CX_INIT_SCHEME_MODULE(modname, initfunc, schemeops) |
Typedefs | |
typedef enum _CxModuleType | CxModuleType |
Module types. | |
typedef _CxArchiveOps | CxArchiveOps |
File operations. | |
typedef _CxSchemeOps | CxSchemeOps |
URI scheme operations. | |
typedef _CxModule | CxModule |
A loadable module. | |
Enumerations | |
enum | _CxModuleType { CX_MODULE_ARCHIVE, CX_MODULE_SCHEME } |
A module type. More... | |
Functions | |
CxModule * | cxRegisterModule (const char *name, void *ops, CxModuleType type) |
Registers a module. | |
CxModule * | cxLoadModule (const char *name, CxModuleType type) |
Loads the module of the specified name and type. | |
void | cxUnloadModule (CxModule *module) |
Unloads the specified module. | |
CxModule * | cxGetModule (const char *name, CxModuleType type) |
Returns the specified module. | |
void | cxLinkModule (CxModule **ptr) |
Notifies libcomprex that the module is being used. | |
void | cxUnlinkModule (CxModule **ptr) |
Notifies libcomprex that the module is no longer being used. | |
CxModule * | cxGetFirstModule (CxModuleType type) |
Returns the first module in the list. | |
void | cxCleanupModules () |
Unloads all modules. | |
void | cxCleanup (void) |
Cleans up the entire library. |
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
Value: CxModule *initComprexModule(void) { \ initfunc(CX_MODULE_ARCHIVE); \ return cxRegisterModule(#modname, &(archiveops), CX_MODULE_ARCHIVE); \ }
|
|
Value: CxModule *initComprexModule(void) { \ initfunc(CX_MODULE_SCHEME); \ return cxRegisterModule(#modname, &(schemeops), CX_MODULE_SCHEME); \ } |
|
File operations.
|
|
A loadable module.
|
|
Module types.
|
|
URI scheme operations.
|
|
A module type. These are the types of modules that libcomprex can dynamically load. |
|
Cleans up the entire library. This should only be called when you are absolutely done with this library. This will call cxCleanupModules() automatically.
|
|
Unloads all modules. This should only be called when you are absolutely done with this library. This will be automatically called by cxCleanup().
|
|
Returns the first module in the list. This will probably only be useful inside libcomprex.
|
|
Returns the specified module. The module
|
|
Notifies libcomprex that the module is being used. This is used to increment the module's reference count.
|
|
Loads the module of the specified name and type.
|
|
Registers a module.
|
|
Notifies libcomprex that the module is no longer being used. This is used to decrement the module's reference count.
|
|
Unloads the specified module.
|