diff src/mexproto.h @ 6109:c68896f193e3

[project @ 2006-10-27 02:16:18 by jwe]
author jwe
date Fri, 27 Oct 2006 02:16:19 +0000
parents fede829d805a
children 483176585b84
line wrap: on
line diff
--- a/src/mexproto.h	Fri Oct 27 01:45:56 2006 +0000
+++ b/src/mexproto.h	Fri Oct 27 02:16:19 2006 +0000
@@ -61,172 +61,172 @@
 #undef MXARRAY_TYPEDEFS_ONLY
 
 // Interface to the interpreter.
-extern const char *mexFunctionName (void);
+extern OCTINTERP_API const char *mexFunctionName (void);
 
-extern int mexCallMATLAB (int nargout, mxArray *argout[], int nargin,
+extern OCTINTERP_API int mexCallMATLAB (int nargout, mxArray *argout[], int nargin,
 			  mxArray *argin[], const char *fname);
 
-extern void mexSetTrapFlag (int flag);
-extern int mexEvalString (const char *s);
-extern void mexErrMsgTxt (const char *s);
-extern void mexErrMsgIdAndTxt (const char *id, const char *s);
-extern void mexWarnMsgTxt (const char *s);
-extern void mexWarnMsgIdAndTxt (const char *id, const char *s);
-extern void mexPrintf (const char *fmt, ...);
+extern OCTINTERP_API void mexSetTrapFlag (int flag);
+extern OCTINTERP_API int mexEvalString (const char *s);
+extern OCTINTERP_API void mexErrMsgTxt (const char *s);
+extern OCTINTERP_API void mexErrMsgIdAndTxt (const char *id, const char *s);
+extern OCTINTERP_API void mexWarnMsgTxt (const char *s);
+extern OCTINTERP_API void mexWarnMsgIdAndTxt (const char *id, const char *s);
+extern OCTINTERP_API void mexPrintf (const char *fmt, ...);
   
-extern mxArray *mexGetVariable (const char *space, const char *name);
-extern const mxArray *mexGetVariablePtr (const char *space, const char *name);
+extern OCTINTERP_API mxArray *mexGetVariable (const char *space, const char *name);
+extern OCTINTERP_API const mxArray *mexGetVariablePtr (const char *space, const char *name);
 
-extern int mexPutVariable (const char *space, const char *name, mxArray *ptr);
+extern OCTINTERP_API int mexPutVariable (const char *space, const char *name, mxArray *ptr);
 
-extern void mexMakeArrayPersistent (mxArray *ptr);
-extern void mexMakeMemoryPersistent (void *ptr);
+extern OCTINTERP_API void mexMakeArrayPersistent (mxArray *ptr);
+extern OCTINTERP_API void mexMakeMemoryPersistent (void *ptr);
 
-extern int mexAtExit (void (*f) (void));
-extern const mxArray *mexGet (double handle, const char *property);
-extern int mexIsGlobal (const mxArray *ptr);
-extern int mexIsLocked (void);
-extern void mexLock (void);
-extern int mexSet (double handle, const char *property, mxArray *val);
-extern void mexUnlock (void);
+extern OCTINTERP_API int mexAtExit (void (*f) (void));
+extern OCTINTERP_API const mxArray *mexGet (double handle, const char *property);
+extern OCTINTERP_API int mexIsGlobal (const mxArray *ptr);
+extern OCTINTERP_API int mexIsLocked (void);
+extern OCTINTERP_API void mexLock (void);
+extern OCTINTERP_API int mexSet (double handle, const char *property, mxArray *val);
+extern OCTINTERP_API void mexUnlock (void);
 
 // Floating point predicates.
-extern int mxIsFinite (double v);
-extern int mxIsInf (double v);
-extern int mxIsNaN (double v);
+extern OCTINTERP_API int mxIsFinite (double v);
+extern OCTINTERP_API int mxIsInf (double v);
+extern OCTINTERP_API int mxIsNaN (double v);
 
 // Floating point values.
-extern double mxGetEps (void);
-extern double mxGetInf (void);
-extern double mxGetNaN (void);
+extern OCTINTERP_API double mxGetEps (void);
+extern OCTINTERP_API double mxGetInf (void);
+extern OCTINTERP_API double mxGetNaN (void);
   
 // Memory management.
-extern void *mxCalloc (size_t n, size_t size);
-extern void *mxMalloc (size_t n);
-extern void *mxRealloc (void *ptr, size_t size);
-extern void mxFree (void *ptr);
+extern OCTINTERP_API void *mxCalloc (size_t n, size_t size);
+extern OCTINTERP_API void *mxMalloc (size_t n);
+extern OCTINTERP_API void *mxRealloc (void *ptr, size_t size);
+extern OCTINTERP_API void mxFree (void *ptr);
   
 // Constructors.
-extern mxArray *mxCreateCellArray (int ndims, const int *dims);
-extern mxArray *mxCreateCellMatrix (int m, int n);
-extern mxArray *mxCreateCharArray (int ndims, const int *dims);
-extern mxArray *mxCreateCharMatrixFromStrings (int m, const char **str);
-extern mxArray *mxCreateDoubleMatrix (int nr, int nc, mxComplexity flag);
-extern mxArray *mxCreateDoubleScalar (double val);
-extern mxArray *mxCreateLogicalArray (int ndims, const int *dims);
-extern mxArray *mxCreateLogicalMatrix (int m, int n);
-extern mxArray *mxCreateLogicalScalar (int val);
-extern mxArray *mxCreateNumericArray (int ndims, const int *dims, mxClassID class_id, mxComplexity flag);
-extern mxArray *mxCreateNumericMatrix (int m, int n, mxClassID class_id, mxComplexity flag);
-extern mxArray *mxCreateSparse (int m, int n, int nzmax, mxComplexity flag);
-extern mxArray *mxCreateSparseLogicalMatrix (int m, int n, int nzmax);
-extern mxArray *mxCreateString (const char *str);
-extern mxArray *mxCreateStructArray (int ndims, int *dims, int num_keys, const char **keys);
-extern mxArray *mxCreateStructMatrix (int rows, int cols, int num_keys, const char **keys);
+extern OCTINTERP_API mxArray *mxCreateCellArray (int ndims, const int *dims);
+extern OCTINTERP_API mxArray *mxCreateCellMatrix (int m, int n);
+extern OCTINTERP_API mxArray *mxCreateCharArray (int ndims, const int *dims);
+extern OCTINTERP_API mxArray *mxCreateCharMatrixFromStrings (int m, const char **str);
+extern OCTINTERP_API mxArray *mxCreateDoubleMatrix (int nr, int nc, mxComplexity flag);
+extern OCTINTERP_API mxArray *mxCreateDoubleScalar (double val);
+extern OCTINTERP_API mxArray *mxCreateLogicalArray (int ndims, const int *dims);
+extern OCTINTERP_API mxArray *mxCreateLogicalMatrix (int m, int n);
+extern OCTINTERP_API mxArray *mxCreateLogicalScalar (int val);
+extern OCTINTERP_API mxArray *mxCreateNumericArray (int ndims, const int *dims, mxClassID class_id, mxComplexity flag);
+extern OCTINTERP_API mxArray *mxCreateNumericMatrix (int m, int n, mxClassID class_id, mxComplexity flag);
+extern OCTINTERP_API mxArray *mxCreateSparse (int m, int n, int nzmax, mxComplexity flag);
+extern OCTINTERP_API mxArray *mxCreateSparseLogicalMatrix (int m, int n, int nzmax);
+extern OCTINTERP_API mxArray *mxCreateString (const char *str);
+extern OCTINTERP_API mxArray *mxCreateStructArray (int ndims, int *dims, int num_keys, const char **keys);
+extern OCTINTERP_API mxArray *mxCreateStructMatrix (int rows, int cols, int num_keys, const char **keys);
 
 // Copy constructor.
-extern mxArray *mxDuplicateArray (const mxArray *v);
+extern OCTINTERP_API mxArray *mxDuplicateArray (const mxArray *v);
 
 // Destructor.
-extern void mxDestroyArray (mxArray *v);
+extern OCTINTERP_API void mxDestroyArray (mxArray *v);
 
 // Type Predicates.
-extern int mxIsCell (const mxArray *ptr);
-extern int mxIsChar (const mxArray *ptr);
-extern int mxIsClass (const mxArray *ptr, const char *name);
-extern int mxIsComplex (const mxArray *ptr);
-extern int mxIsDouble (const mxArray *ptr);
-extern int mxIsInt16 (const mxArray *ptr);
-extern int mxIsInt32 (const mxArray *ptr);
-extern int mxIsInt64 (const mxArray *ptr);
-extern int mxIsInt8 (const mxArray *ptr);
-extern int mxIsLogical (const mxArray *ptr);
-extern int mxIsNumeric (const mxArray *ptr);
-extern int mxIsSingle (const mxArray *ptr);
-extern int mxIsSparse (const mxArray *ptr);
-extern int mxIsStruct (const mxArray *ptr);
-extern int mxIsUint16 (const mxArray *ptr);
-extern int mxIsUint32 (const mxArray *ptr);
-extern int mxIsUint64 (const mxArray *ptr);
-extern int mxIsUint8 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsCell (const mxArray *ptr);
+extern OCTINTERP_API int mxIsChar (const mxArray *ptr);
+extern OCTINTERP_API int mxIsClass (const mxArray *ptr, const char *name);
+extern OCTINTERP_API int mxIsComplex (const mxArray *ptr);
+extern OCTINTERP_API int mxIsDouble (const mxArray *ptr);
+extern OCTINTERP_API int mxIsInt16 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsInt32 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsInt64 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsInt8 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsLogical (const mxArray *ptr);
+extern OCTINTERP_API int mxIsNumeric (const mxArray *ptr);
+extern OCTINTERP_API int mxIsSingle (const mxArray *ptr);
+extern OCTINTERP_API int mxIsSparse (const mxArray *ptr);
+extern OCTINTERP_API int mxIsStruct (const mxArray *ptr);
+extern OCTINTERP_API int mxIsUint16 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsUint32 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsUint64 (const mxArray *ptr);
+extern OCTINTERP_API int mxIsUint8 (const mxArray *ptr);
 
 // Odd type+size predicate.
-extern int mxIsLogicalScalar (const mxArray *ptr);
+extern OCTINTERP_API int mxIsLogicalScalar (const mxArray *ptr);
 
 // Odd type+size+value predicate.
-extern int mxIsLogicalScalarTrue (const mxArray *ptr);
+extern OCTINTERP_API int mxIsLogicalScalarTrue (const mxArray *ptr);
 
 // Size predicate.
-extern int mxIsEmpty (const mxArray *ptr);
+extern OCTINTERP_API int mxIsEmpty (const mxArray *ptr);
 
 // Just plain odd thing to ask of a value.
-extern int mxIsFromGlobalWS (const mxArray *ptr);
+extern OCTINTERP_API int mxIsFromGlobalWS (const mxArray *ptr);
 
 // Dimension extractors.
-extern int mxGetM (const mxArray *ptr);
-extern int mxGetN (const mxArray *ptr);
-extern int *mxGetDimensions (const mxArray *ptr);
-extern int mxGetNumberOfDimensions (const mxArray *ptr);
-extern int mxGetNumberOfElements (const mxArray *ptr);
+extern OCTINTERP_API int mxGetM (const mxArray *ptr);
+extern OCTINTERP_API int mxGetN (const mxArray *ptr);
+extern OCTINTERP_API int *mxGetDimensions (const mxArray *ptr);
+extern OCTINTERP_API int mxGetNumberOfDimensions (const mxArray *ptr);
+extern OCTINTERP_API int mxGetNumberOfElements (const mxArray *ptr);
 
 // Dimension setters.
-extern void mxSetM (mxArray *ptr, int M);
-extern void mxSetN (mxArray *ptr, int N);
-extern void mxSetDimensions (mxArray *ptr, int *dims, int ndims);
+extern OCTINTERP_API void mxSetM (mxArray *ptr, int M);
+extern OCTINTERP_API void mxSetN (mxArray *ptr, int N);
+extern OCTINTERP_API void mxSetDimensions (mxArray *ptr, int *dims, int ndims);
   
 // Data extractors.
-extern double *mxGetPi (const mxArray *ptr);
-extern double *mxGetPr (const mxArray *ptr);
-extern double mxGetScalar (const mxArray *ptr);
-extern mxChar *mxGetChars (const mxArray *ptr);
-extern mxLogical *mxGetLogicals (const mxArray *ptr);
-extern void *mxGetData (const mxArray *ptr);
-extern void *mxGetImagData (const mxArray *ptr);
+extern OCTINTERP_API double *mxGetPi (const mxArray *ptr);
+extern OCTINTERP_API double *mxGetPr (const mxArray *ptr);
+extern OCTINTERP_API double mxGetScalar (const mxArray *ptr);
+extern OCTINTERP_API mxChar *mxGetChars (const mxArray *ptr);
+extern OCTINTERP_API mxLogical *mxGetLogicals (const mxArray *ptr);
+extern OCTINTERP_API void *mxGetData (const mxArray *ptr);
+extern OCTINTERP_API void *mxGetImagData (const mxArray *ptr);
 
 // Data setters.
-extern void mxSetPr (mxArray *ptr, double *pr);
-extern void mxSetPi (mxArray *ptr, double *pi);
-extern void mxSetData (mxArray *ptr, void *data);
-extern void mxSetImagData (mxArray *ptr, void *pi);
+extern OCTINTERP_API void mxSetPr (mxArray *ptr, double *pr);
+extern OCTINTERP_API void mxSetPi (mxArray *ptr, double *pi);
+extern OCTINTERP_API void mxSetData (mxArray *ptr, void *data);
+extern OCTINTERP_API void mxSetImagData (mxArray *ptr, void *pi);
 
 // Classes.
-extern mxClassID mxGetClassID (const mxArray *ptr);
-extern const char *mxGetClassName (const mxArray *ptr);
+extern OCTINTERP_API mxClassID mxGetClassID (const mxArray *ptr);
+extern OCTINTERP_API const char *mxGetClassName (const mxArray *ptr);
 
-extern void mxSetClassName (mxArray *ptr, const char *name);
+extern OCTINTERP_API void mxSetClassName (mxArray *ptr, const char *name);
 
 // Cell support.
-extern mxArray *mxGetCell (const mxArray *ptr, int idx);
+extern OCTINTERP_API mxArray *mxGetCell (const mxArray *ptr, int idx);
 
-extern void mxSetCell (mxArray *ptr, int idx, mxArray *val);
+extern OCTINTERP_API void mxSetCell (mxArray *ptr, int idx, mxArray *val);
 
 // Sparse support.
-extern int *mxGetIr (const mxArray *ptr);
-extern int *mxGetJc (const mxArray *ptr);
-extern int mxGetNzmax (const mxArray *ptr);
+extern OCTINTERP_API int *mxGetIr (const mxArray *ptr);
+extern OCTINTERP_API int *mxGetJc (const mxArray *ptr);
+extern OCTINTERP_API int mxGetNzmax (const mxArray *ptr);
 
-extern void mxSetIr (mxArray *ptr, int *ir);
-extern void mxSetJc (mxArray *ptr, int *jc);
-extern void mxSetNzmax (mxArray *ptr, int nzmax);
+extern OCTINTERP_API void mxSetIr (mxArray *ptr, int *ir);
+extern OCTINTERP_API void mxSetJc (mxArray *ptr, int *jc);
+extern OCTINTERP_API void mxSetNzmax (mxArray *ptr, int nzmax);
 
 // Structure support.
-extern int mxAddField (mxArray *ptr, const char *key);
+extern OCTINTERP_API int mxAddField (mxArray *ptr, const char *key);
 
-extern void mxRemoveField (mxArray *ptr, int key_num);
+extern OCTINTERP_API void mxRemoveField (mxArray *ptr, int key_num);
 
-extern mxArray *mxGetField (const mxArray *ptr, int index, const char *key);
-extern mxArray *mxGetFieldByNumber (const mxArray *ptr, int index, int key_num);
+extern OCTINTERP_API mxArray *mxGetField (const mxArray *ptr, int index, const char *key);
+extern OCTINTERP_API mxArray *mxGetFieldByNumber (const mxArray *ptr, int index, int key_num);
 
-extern void mxSetField (mxArray *ptr, int index, const char *key, mxArray *val);
-extern void mxSetFieldByNumber (mxArray *ptr, int index, int key_num, mxArray *val);
+extern OCTINTERP_API void mxSetField (mxArray *ptr, int index, const char *key, mxArray *val);
+extern OCTINTERP_API void mxSetFieldByNumber (mxArray *ptr, int index, int key_num, mxArray *val);
 
-extern int mxGetNumberOfFields (const mxArray *ptr);
+extern OCTINTERP_API int mxGetNumberOfFields (const mxArray *ptr);
 
-extern const char *mxGetFieldNameByNumber (const mxArray *ptr, int key_num);
-extern int mxGetFieldNumber (const mxArray *ptr, const char *key);
+extern OCTINTERP_API const char *mxGetFieldNameByNumber (const mxArray *ptr, int key_num);
+extern OCTINTERP_API int mxGetFieldNumber (const mxArray *ptr, const char *key);
 
-extern int mxGetString (const mxArray *ptr, char *buf, int buflen);
-extern char *mxArrayToString (const mxArray *ptr);
+extern OCTINTERP_API int mxGetString (const mxArray *ptr, char *buf, int buflen);
+extern OCTINTERP_API char *mxArrayToString (const mxArray *ptr);
   
 // Miscellaneous.
 #ifdef NDEBUG
@@ -257,9 +257,9 @@
 #define mxAssertS(expr, msg)
 #endif
 
-extern int mxCalcSingleSubscript (const mxArray *ptr, int nsubs, int *subs);
+extern OCTINTERP_API int mxCalcSingleSubscript (const mxArray *ptr, int nsubs, int *subs);
 
-extern int mxGetElementSize (const mxArray *ptr);
+extern OCTINTERP_API int mxGetElementSize (const mxArray *ptr);
 
 #if defined (__cplusplus)
 }