1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-05 13:24:11 +01:00
LibrePilot/flight/libraries/PyMite/vm/module.h

55 lines
1.5 KiB
C
Raw Normal View History

/*
# 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__ */