mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-30 08:24:11 +01:00
55 lines
1.5 KiB
C
55 lines
1.5 KiB
C
/*
|
|
# This file is Copyright 2003, 2006, 2007, 2009, 2010 Dean Hall.
|
|
#
|
|
# This file is part of the PyMite VM.
|
|
# The PyMite VM is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU GENERAL PUBLIC LICENSE Version 2.
|
|
#
|
|
# The PyMite VM 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.
|
|
# A copy of the GNU GENERAL PUBLIC LICENSE Version 2
|
|
# is seen in the file COPYING in this directory.
|
|
*/
|
|
|
|
|
|
#ifndef __MODULE_H__
|
|
#define __MODULE_H__
|
|
|
|
|
|
/**
|
|
* \file
|
|
* \brief Module Object Type
|
|
*
|
|
* Module object type header.
|
|
*/
|
|
|
|
|
|
/**
|
|
* Creates a Module Obj for the given Code Obj.
|
|
*
|
|
* Use a func struct to represent the Module obj because
|
|
* the module's construction code must execute later,
|
|
* but set the type to OBJ_TYPE_MOD so that it is
|
|
* not otherwise callable.
|
|
*
|
|
* @param pco Ptr to code obj
|
|
* @param pmod Return by reference; ptr to new module obj
|
|
* @return Return status
|
|
*/
|
|
PmReturn_t mod_new(pPmObj_t pco, pPmObj_t *pmod);
|
|
|
|
/**
|
|
* Imports a module of the given name.
|
|
* Searches for an image with a matching name.
|
|
* A code obj is created for the code image.
|
|
* A module obj is created for the code obj.
|
|
*
|
|
* @param pstr String obj containing name of code obj to load.
|
|
* @param pmod Return by reference; ptr to imported module
|
|
* @return Return status
|
|
*/
|
|
PmReturn_t mod_import(pPmObj_t pstr, pPmObj_t *pmod);
|
|
|
|
#endif /* __MODULE_H__ */
|