Files
openairinterface5g/openair1/USERSPACE_TOOLS/MATLAB/lib/mex.h
T
Lionel Gauthier 059a0a3fdc astyle --recursive --indent=spaces=2 --style=kr --indent-col1-comments --break-blocks --convert-tabs --max-code-length=200
This is done for better merging branch/LG_PRE_RELEASE_0.3 into trunk (same process is applied on this branch)

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7073 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2015-04-09 09:29:12 +00:00

410 lines
11 KiB
C

/*
* @(#)mex.h generated by: makeheader 5.1.5 Mon Jun 29 15:54:48 2009
*
* built from: ../../src/include/copyright.h
* ../../src/include/pragma_interface.h
* mex_typedefs.h
* mexfunction.hpp
* fmexapi.cpp
* fmexapi_stdcall.cpp
* globals.cpp
* mexapi.cpp
* mexcbk.cpp
* mexdispatch.cpp
* mexintrf.cpp
* mexdbg.h
*/
#if defined(_MSC_VER)
# pragma once
#endif
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 3))
# pragma once
#endif
#ifndef mex_h
#define mex_h
/*
* Copyright 1984-2003 The MathWorks, Inc.
* All Rights Reserved.
*/
/* Copyright 2003-2006 The MathWorks, Inc. */
/* Only define EXTERN_C if it hasn't been defined already. This allows
* individual modules to have more control over managing their exports.
*/
#ifndef EXTERN_C
#ifdef __cplusplus
#define EXTERN_C extern "C"
#else
#define EXTERN_C extern
#endif
#endif
/* Copyright 1999-2007 The MathWorks, Inc. */
/* $Revision: 1.7.4.4 $ */
#ifndef mex_typedefs_h
#define mex_typedefs_h
typedef struct impl_info_tag *MEX_impl_info;
#include "matrix.h"
#ifdef __cplusplus
extern "C"
{
#endif
typedef void (*mex_exit_fn)(void);
#ifdef __cplusplus
}
#endif
typedef struct mexGlobalTableEntry_Tag {
const char *name; /* The name of the global */
mxArray **variable; /* A pointer to the variable */
} mexGlobalTableEntry, *mexGlobalTable;
#ifdef _WIN32
#define cicompare(s1,s2) utStrcmpi((s1),(s2))
#else
#define cicompare(s1,s2) strcmp((s1),(s2))
#endif
#define cscompare(s1,s2) strcmp((s1),(s2))
typedef struct mexFunctionTableEntry_tag {
const char * name;
mxFunctionPtr f;
int nargin;
int nargout;
struct _mexLocalFunctionTable *local_function_table;
} mexFunctionTableEntry, *mexFunctionTable;
typedef struct _mexLocalFunctionTable {
size_t length;
mexFunctionTable entries;
} _mexLocalFunctionTable, *mexLocalFunctionTable;
typedef struct {
void (*initialize)(void);
void (*terminate)(void);
} _mexInitTermTableEntry, *mexInitTermTableEntry;
#define MEX_INFORMATION_VERSION 1
typedef struct {
int version;
int file_function_table_length;
mexFunctionTable file_function_table;
int global_variable_table_length;
mexGlobalTable global_variable_table;
int npaths;
const char ** paths;
int init_term_table_length;
mexInitTermTableEntry init_term_table;
} _mex_information, *mex_information;
typedef mex_information(*fn_mex_file)(void);
typedef void (*fn_clean_up_after_error)(void);
typedef const char *(*fn_simple_function_to_string)(mxFunctionPtr f);
typedef void (*fn_mex_enter_mex_library)(mex_information x);
typedef fn_mex_enter_mex_library fn_mex_exit_mex_library;
typedef mexLocalFunctionTable (*fn_mex_get_local_function_table)(void);
typedef mexLocalFunctionTable (*fn_mex_set_local_function_table)(mexLocalFunctionTable);
#endif
#ifdef EXPORT_EXTERN_C
# define MEXFUNCTION_LINKAGE EXPORT_EXTERN_C
#else
# ifdef MW_NEEDS_VERSION_H
# include "version.h"
# define MEXFUNCTION_LINKAGE EXPORT_EXTERN_C
# else
# define MEXFUNCTION_LINKAGE EXTERN_C
# endif
#endif
MEXFUNCTION_LINKAGE
/*
* mexFunction is the user-defined C routine that is called upon invocation
* of a MEX-function.
*/
void mexFunction(
int nlhs, /* number of expected outputs */
mxArray *plhs[], /* array of pointers to output arguments */
int nrhs, /* number of inputs */
const mxArray *prhs[] /* array of pointers to input arguments */
);
/*
* This header file "mex.h" declares all the types, macros and
* functions necessary to interface mex files with the current
* version of MATLAB. See the release notes for information on
* supporting syntax from earlier versions.
*/
#include "matrix.h"
#include <stdio.h>
/*
* Issue error message and return to MATLAB prompt
*/
EXTERN_C void mexErrMsgTxt(
const char *error_msg /* string with error message */
);
/*
* Issue formatted error message with corresponding error identifier and return to MATLAB
* prompt.
*/
EXTERN_C void mexErrMsgIdAndTxt(
const char * identifier, /* string with error message identifier */
const char * err_msg, /* string with error message printf-style format */
... /* any additional arguments */
);
/*
* Invoke an unidentified warning. Such warnings can only be affected by the M-code
* 'warning * all', since they have no specific identifier. See also mexWarnMsgIdAndTxt.
*/
EXTERN_C void mexWarnMsgTxt(
const char *warn_msg /* string with warning message */
);
/*
* Invoke a warning with message identifier 'identifier' and message derived from 'fmt' and
* subsequent arguments. The warning may either get printed as is (if it is set to 'on'), or
* not actually get printed (if set to 'off'). See 'help warning' in MATLAB for more
* details.
*/
EXTERN_C void mexWarnMsgIdAndTxt(
const char * identifier, /* string with warning message identifer */
const char * warn_msg, /* string with warning message printf-style format */
... /* any additional arguments */
);
/*
* mex equivalent to MATLAB's "disp" function
*/
EXTERN_C int mexPrintf(
const char *fmt, /* printf style format */
... /* any additional arguments */
);
#define printf mexPrintf
/*
* Remove all components of an array plus the array header itself
* from MATLAB's memory allocation list. The array will now
* persist between calls to the mex function. To destroy this
* array, you will need to explicitly call mxDestroyArray().
*/
EXTERN_C void mexMakeArrayPersistent(
mxArray *pa /* pointer to array */
);
/*
* Remove memory previously allocated via mxCalloc from MATLAB's
* memory allocation list. To free this memory, you will need to
* explicitly call mxFree().
*/
EXTERN_C void mexMakeMemoryPersistent(void *ptr);
/*
* mex equivalent to MATLAB's "set" function
*/
EXTERN_C int mexSet(double handle, const char *property, mxArray *value);
/* API interface which mimics the "get" function */
EXTERN_C const mxArray *mexGet(double handle, const char *property);
/*
* call MATLAB function
*/
EXTERN_C int mexCallMATLAB(
int nlhs, /* number of expected outputs */
mxArray *plhs[], /* pointer array to outputs */
int nrhs, /* number of inputs */
mxArray *prhs[], /* pointer array to inputs */
const char *fcn_name /* name of function to execute */
);
/*
* call MATLAB function with Trap
*/
EXTERN_C mxArray *mexCallMATLABWithTrap(
int nlhs, /* number of expected outputs */
mxArray *plhs[], /* pointer array to outputs */
int nrhs, /* number of inputs */
mxArray *prhs[], /* pointer array to inputs */
const char *fcn_name /* name of function to execute */
);
/*
* set or clear mexCallMATLAB trap flag (if set then an error in
* mexCallMATLAB is caught and mexCallMATLAB will return a status value,
* if not set an error will cause control to revert to MATLAB)
*/
EXTERN_C void mexSetTrapFlag(int flag);
/*
* Print an assertion-style error message and return control to the
* MATLAB command line.
*/
EXTERN_C void mexPrintAssertion(
const char *test,
const char *fname,
int linenum,
const char *message);
/*
* Tell whether or not a mxArray is in MATLAB's global workspace.
*/
EXTERN_C bool mexIsGlobal(const mxArray *pA);
/*
* Place a copy of the array value into the specified workspace with the
* specified name
*/
EXTERN_C int mexPutVariable(
const char *workspace,
const char *name,
const mxArray *parray /* matrix to copy */
);
/*
* return a pointer to the array value with the specified variable
* name in the specified workspace
*/
EXTERN_C const mxArray *mexGetVariablePtr(
const char *workspace,
const char *name /* name of symbol */
);
/*
* return a copy of the array value with the specified variable
* name in the specified workspace
*/
EXTERN_C mxArray *mexGetVariable(
const char *workspace,
const char *name /* name of variable in question */
);
/*
* Lock a MEX-function so that it cannot be cleared from memory.
*/
EXTERN_C void mexLock(void);
/*
* Unlock a locked MEX-function so that it can be cleared from memory.
*/
EXTERN_C void mexUnlock(void);
/*
* Return true if the MEX-function is currently locked, false otherwise.
*/
EXTERN_C bool mexIsLocked(void);
/*
* Return the name of a the MEXfunction currently executing.
*/
EXTERN_C const char *mexFunctionName(void);
/*
* Parse and execute MATLAB syntax in string. Returns zero if successful,
* and a non zero value if an error occurs.
*/
EXTERN_C int mexEvalString(
const char *str /* matlab command string */
);
/*
* Parse and execute MATLAB syntax in string. Returns NULL if successful,
* and an MException if an error occurs.
*/
EXTERN_C mxArray* mexEvalStringWithTrap(
const char *str /* matlab command string */
);
/*
* Register Mex-file's At-Exit function (accessed via MEX callback)
*/
EXTERN_C int mexAtExit(mex_exit_fn exit_fcn );
/* Copyright 1996-2006 The MathWorks, Inc. */
/* $Revision: 1.9.4.3 $ */
/*
* Revisit. Conflicts with 32-bit compatibility API. XXX
*/
#if 0
#ifdef ARGCHECK
#include "mwdebug.h" /* Prototype _d versions of API functions */
#define mexAtExit(exitfcn) mexAtExit_d(exitfcn, __FILE__, __LINE__)
#define mexCallMATLAB(nlhs, plhs, nrhs, prhs, fcn) mexCallMATLAB_d(nlhs, plhs, nrhs, prhs, fcn, __FILE__, __LINE__)
#define mexErrMsgTxt(errmsg) mexErrMsgTxt_d(errmsg, __FILE__, __LINE__)
#define mexEvalString(str) mexEvalString_d(str, __FILE__, __LINE__)
#define mexGet(handle, property) mexGet_d(handle, property, __FILE__, __LINE__)
#define mexGetVariable(workspace, name) mexGetVariable_d(workspace, name, __FILE__, __LINE__)
#define mexGetVariablePtr(workspace, name) mexGetVariablePtr_d(workspace, name, __FILE__, __LINE__)
#define mexIsGlobal(pa) mexIsGlobal_d(pa, __FILE__, __LINE__)
#define mexMakeArrayPersistent(pa) mexMakeArrayPersistent_d(pa, __FILE__, __LINE__)
#define mexMakeMemoryPersistent(ptr) mexMakeMemoryPersistent_d(ptr, __FILE__, __LINE__)
#define mexPutVariable(workspace, name, pa) mexPutVariable_d(workspace, name, pa, __FILE__, __LINE__)
#define mexSet(handle, property, value) mexSet_d(handle, property, value, __FILE__, __LINE__)
#define mexSetTrapFlag(value) mexSetTrapFlag_d(value, __FILE__, __LINE__)
#define mexSubsAssign(plhs, sub, nsubs, rhs) mexSubsAssign_d(plhs, sub, nsubs, rhs, __FILE__, __LINE__)
#define mexSubsReference(prhs, sub, nsubs) mexSubsReference_d(prhs, sub, nsubs, __FILE__, __LINE__)
#define mexWarnMsgTxt(str) mexWarnMsgTxt_d(str, __FILE__, __LINE__)
#endif
#endif
#endif /* mex_h */