MATLAB Production Server C Client  R2024a
component: mds_c_client, module directory: deployment_server/client/c/mps, copyright: MathWorks
client.h
Go to the documentation of this file.
1 
4 #ifndef MATHWORKS_MPS_CLIENT
5 #define MATHWORKS_MPS_CLIENT
6 
7 #define MPS_CLIENT_1_0 0x00010000
8 #define MPS_CLIENT_1_1 0x00010001
9 
10 #ifndef MPS_MAX_VER
11 #define MPS_MAX_VER MPS_CLIENT_1_1
12 #endif
13 
14 #ifdef _MSC_VER
15  #define MPS_DLL_EXPORT_SYM __declspec(dllexport)
16  #define MPS_DLL_IMPORT_SYM __declspec(dllimport)
17 #elif __GNUC__ >= 4
18  #define MPS_DLL_EXPORT_SYM __attribute__ ((visibility("default")))
19  #define MPS_DLL_IMPORT_SYM __attribute__ ((visibility("default")))
20 #else
21  #define MPS_DLL_EXPORT_SYM
22  #define MPS_DLL_IMPORT_SYM
23 #endif
24 
25 #if defined(BUILDING_MPSCLIENT)
26 #define MPSCLIENT_PUBLISHED_API MPS_DLL_EXPORT_SYM
27 #else
28 #define MPSCLIENT_PUBLISHED_API MPS_DLL_IMPORT_SYM
29 #endif
30 
31 #ifdef __cplusplus
32 #define MPSCLIENT_PUBLISHED_API_EXTERN_C extern "C" MPSCLIENT_PUBLISHED_API
33 #else
34 #define MPSCLIENT_PUBLISHED_API_EXTERN_C extern MPSCLIENT_PUBLISHED_API
35 #endif
36 
37 #include <limits.h>
38 
39 #ifdef _MSC_VER
40 typedef unsigned __int64 uint64;
41 #else
42 #include <stddef.h>
43 #include <stdint.h>
44 typedef uint64_t uint64;
45 #endif
46 
48 typedef uint64 mpsSize;
49 
51 typedef uint64 mpsIndex;
52 
55 typedef struct mpsArray mpsArray;
56 
62 
70 
71 #ifndef TMW_BITS_PER_INT
72 # if INT_MAX == 0x7FL
73 # define TMW_BITS_PER_INT 8
74 # elif INT_MAX == 0x7FFFL
75 # define TMW_BITS_PER_INT 16
76 # elif INT_MAX == 0x7FFFFFFFL
77 # define TMW_BITS_PER_INT 32
78 # else
79 # define TMW_BITS_PER_INT -1
80 # endif
81 #endif
82 
83 #ifndef TMW_BITS_PER_LONG
84 # if LONG_MAX == 0x7FL
85 # define TMW_BITS_PER_LONG 8
86 # elif LONG_MAX == 0x7FFFL
87 # define TMW_BITS_PER_LONG 16
88 # elif LONG_MAX == 0x7FFFFFFFL
89 # define TMW_BITS_PER_LONG 32
90 # else
91 # define TMW_BITS_PER_LONG -1
92 # endif
93 #endif
94 
95 #ifndef TMW_BITS_PER_SCHAR
96 # if SCHAR_MAX == 0x7FL
97 # define TMW_BITS_PER_SCHAR 8
98 # elif SCHAR_MAX == 0x7FFFL
99 # define TMW_BITS_PER_SCHAR 16
100 # elif SCHAR_MAX == 0x7FFFFFFFL
101 # define TMW_BITS_PER_SCHAR 32
102 # else
103 # define TMW_BITS_PER_SCHAR -1
104 # endif
105 #endif
106 
107 #ifndef TMW_BITS_PER_SHRT
108 # if SHRT_MAX == 0x7FL
109 # define TMW_BITS_PER_SHRT 8
110 # elif SHRT_MAX == 0x7FFFL
111 # define TMW_BITS_PER_SHRT 16
112 # elif SHRT_MAX == 0x7FFFFFFFL
113 # define TMW_BITS_PER_SHRT 32
114 # else
115 # define TMW_BITS_PER_SHRT -1
116 # endif
117 #endif
118 
119 #ifndef UINT16_T
120 # if TMW_BITS_PER_INT == 16
121 # define UINT16_T unsigned int
122 # elif TMW_BITS_PER_LONG == 16
123 # define UINT16_T unsigned long
124 # elif TMW_BITS_PER_SCHAR == 16
125 # define UINT16_T unsigned char
126 # elif TMW_BITS_PER_SHRT == 16
127 # define UINT16_T unsigned short
128 # endif
129 #endif
130 
131 /* +0 because of a doxygen bug */
132 #if (defined(__cplusplus) && (__cplusplus+0 >= 201103L)) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
133 typedef char16_t CHAR16_T;
134 #elif defined(_MSC_VER)
135 typedef wchar_t CHAR16_T;
136 #else
137 typedef UINT16_T CHAR16_T;
138 #endif
139 
141 
142 #if !defined(__cplusplus)
143 
144 typedef unsigned char bool;
145 
146 #ifndef false
147 #define false (0)
148 #endif
149 #ifndef true
150 #define true (1)
151 #endif
152 
153 #endif
154 
157 typedef bool mpsLogical;
158 
160 typedef enum mpsErrorInfoType {
161 
164 
167 
170 
172 
173 
175 typedef struct mpsErrorInfoHTTP {
176 
178  unsigned int responseCode;
179 
181  const char* responseMessage;
182 
184 
185 
187 typedef struct matlabStackFrame {
188 
190  const char* file;
191 
193  const char* function;
194 
196  int line;
197 
199 
200 
202 typedef struct mpsErrorInfoMATLAB {
203 
205  const char* message;
206 
208  const char* identifier;
209 
212 
215 
217 
219 typedef struct mpsErrorInfoGeneric {
220 
222  const char* genericErrorMsg;
223 
225 
226 
228 typedef struct mpsErrorInfo {
229 
232 
234  char const* message;
235 
237  union {
240 
243 
246  } details;
247 
248 } mpsErrorInfo;
249 
251 typedef enum mpsStatus {
252 
255 
258 
259 } mpsStatus;
260 
262 typedef enum mpsComplexity {
267 } mpsComplexity;
268 
270 typedef enum mpsClassID {
299 } mpsClassID;
300 
306 typedef struct mpsClientRuntime {
307 
319 
323  void (*destroyConfig) (mpsClientConfig* config);
324 
326  void (*setResponseTimeOutSec) (mpsClientConfig* config, unsigned long value);
327 
329  unsigned long (*getResponseTimeOutSec)(const mpsClientConfig* config);
330 
332  void (*setResponseSizeLimit) (mpsClientConfig* config, unsigned int value);
333 
335  unsigned int (*getResponseSizeLimit)(const mpsClientConfig* config);
336 
350 
358  void (*destroyContext) (mpsClientContext* context);
359 
372  void (*getLastErrorInfo) (mpsClientContext const* context, mpsErrorInfo* errorInfo);
373 
376  void (*destroyLastErrorInfo) (mpsErrorInfo* errorInfo);
377 
400  mpsStatus (*feval)( mpsClientContext* context, const char* url, int nlhs, mpsArray *plhs[], int nrhs, const mpsArray *prhs[] );
401 
405 #if MPS_MAX_VER >= MPS_CLIENT_1_1
406 
408  void (*setClientCertFile) (mpsClientConfig* config, const char* certFile);
409 
411  const char* (*getClientCertFile) (const mpsClientConfig* config);
412 
414  void (*setPrivateKeyFile) (mpsClientConfig* config, const char* pkFile);
415 
417  const char* (*getPrivateKeyFile) (const mpsClientConfig* config);
418 
420  void (*setPrivateKeyPasswd) (mpsClientConfig* config, const char* passwd);
421 
423  const char* (*getPrivateKeyPasswd) (const mpsClientConfig* config);
424 
426  void (*setCAFile) (mpsClientConfig* config, const char* caFile);
427 
429  const char* (*getCAFile) (const mpsClientConfig* config);
430 
432  void (*setRevocationListFile) (mpsClientConfig* config, const char* crlFile);
433 
435  const char* (*getRevocationListFile) (const mpsClientConfig* config);
436 
438  void (*setVerifyHost) (mpsClientConfig* config, mpsLogical verifyHost);
439 
442 
446  void (*setVerifyPeer) (mpsClientConfig* config, mpsLogical verifyPeer);
447 
450 
451 #endif
452 
454 
462 
473 
479 
484 
490 
496 
502 
508 
514 
520 
526 
532 
538 
544 
550 
556 
562 
568 
574 
580 
586 
592 
617 MPSCLIENT_PUBLISHED_API_EXTERN_C bool mpsIsClass(const mpsArray* mlArr, const char* classname);
618 
624 
630 
639 
645 
655 
666  mpsClassID classid, mpsComplexity complexFlag);
667 
673 
680 
688 
694 
701 
709 
717 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray* mpsCreateStructMatrix(mpsSize m, mpsSize n, int nfields, const char **fieldnames);
718 
727 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray* mpsCreateStructArray(mpsSize ndim, const mpsSize *dims, int nfields, const char **fieldnames);
728 
735 
743 
756 
766 
776 
782 
787 
793 
799 
807 
815 
821 
834 
840 
846 
852 
858 
864 
870 
876 
882 
888 
894 
902 MPSCLIENT_PUBLISHED_API_EXTERN_C int mpsGetString(const mpsArray* mlArr, char* str, mpsSize len);
903 
909 
915 
921 
927 
934 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray *mpsGetField(const mpsArray *mlArr, mpsIndex index, const char *fieldname);
935 
942 MPSCLIENT_PUBLISHED_API_EXTERN_C void mpsSetField(mpsArray *mlArr, mpsIndex index, const char *fieldname, mpsArray *pvalue);
943 
949 
955 MPSCLIENT_PUBLISHED_API_EXTERN_C int mpsGetFieldNumber(const mpsArray *mlArr, const char *fieldname);
956 
962 MPSCLIENT_PUBLISHED_API_EXTERN_C const char *mpsGetFieldNameByNumber(const mpsArray *mlArr, int fieldnumber);
963 
970 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray *mpsGetFieldByNumber(const mpsArray *mlArr, mpsIndex index, int fieldnumber);
971 
978 MPSCLIENT_PUBLISHED_API_EXTERN_C void mpsSetFieldByNumber(mpsArray *mlArr, mpsIndex index, int fieldnumber, mpsArray *pvalue);
979 
985 MPSCLIENT_PUBLISHED_API_EXTERN_C int mpsAddField(mpsArray *mlArr, const char *fieldname);
986 
991 MPSCLIENT_PUBLISHED_API_EXTERN_C void mpsRemoveField(mpsArray *mlArr, int fieldnumber);
992 
999 
1007 
1013 
1022 
1028 
1034 
1035 #endif
mpsDOUBLE_CLASS
Identifies a numeric mpsArray whose data is stored as double.
Definition: client.h:290
mpsAddField
int mpsAddField(mpsArray *mlArr, const char *fieldname)
Add a field to an array of struct.
mpsGetPi
double * mpsGetPi(const mpsArray *mlArr)
Access the imaginary data in an array of doubles.
mpsClientRuntime::setVerifyHost
void(* setVerifyHost)(mpsClientConfig *config, mpsLogical verifyHost)
Setting this flag to true will verify the hostname in thr url against the common name in the certific...
Definition: client.h:438
matlabStackFrame::line
int line
Line number in the MATLAB file where the error occurred.
Definition: client.h:196
mpsCreateStructArray
mpsArray * mpsCreateStructArray(mpsSize ndim, const mpsSize *dims, int nfields, const char **fieldnames)
Create a N-dimensional struct array.
mpsClientRuntime::setClientCertFile
void(* setClientCertFile)(mpsClientConfig *config, const char *certFile)
MPS_CLIENT_1_1 version provides support for request execution using HTTPS protocol for secure client-...
Definition: client.h:408
mpsREAL
Identifies an mpsArray with no imaginary components.
Definition: client.h:264
mpsCreateDoubleScalar
mpsArray * mpsCreateDoubleScalar(double value)
Create a scalar double-precision floating-point array.
mpsGetClassName
const char * mpsGetClassName(const mpsArray *mlArr)
Determine the class of an array.
mpsClientRuntime::setResponseSizeLimit
void(* setResponseSizeLimit)(mpsClientConfig *config, unsigned int value)
Set the response size limit value, in bytes, for the client.
Definition: client.h:332
mpsIndex
uint64 mpsIndex
Type that represents index values, such as indices into arrays.
Definition: client.h:51
mpsTerminate
void mpsTerminate(void)
Perform global clean up of resources consumed by MATLAB Production Server client environment.
mpsClientRuntime::getVerifyHost
mpsLogical(* getVerifyHost)(const mpsClientConfig *config)
Get the host verification flag value.
Definition: client.h:441
mpsINT8_CLASS
Identifies a numeric mpsArray whose data is stored as either char or byte.
Definition: client.h:274
mpsSetN
void mpsSetN(mpsArray *mlArr, mpsSize n)
Set the number of columns in an array.
mpsSetDimensions
int mpsSetDimensions(mpsArray *mlArr, const mpsSize *dims, mpsSize ndim)
Modify number of dimensions and size of each dimension of an array.
mpsInitializeEx
mpsClientRuntime * mpsInitializeEx(int version)
Set up the programming environment for MATLAB Production Server client based on the version number pr...
mpsIsLogical
bool mpsIsLogical(const mpsArray *mlArr)
Determine whether mpsArray represents data as mpsLogical.
MPSCLIENT_PUBLISHED_API_EXTERN_C
#define MPSCLIENT_PUBLISHED_API_EXTERN_C
Definition: client.h:32
mpsIsNumeric
bool mpsIsNumeric(const mpsArray *mlArr)
Determine whether mpsArray contains numeric data.
mpsComplexity
mpsComplexity
Flag specifying whether array has imaginary components.
Definition: client.h:262
mpsIsLogicalScalar
bool mpsIsLogicalScalar(const mpsArray *mlArr)
Determine whether MATLAB treats the scalar data in the mpsArray as logical or numerical.
mpsGetM
size_t mpsGetM(const mpsArray *mlArr)
Determine the first dimension of an array.
mpsClientRuntime::getResponseTimeOutSec
unsigned long(* getResponseTimeOutSec)(const mpsClientConfig *config)
Get the timeout value, in seconds, for the client to receive response from the server.
Definition: client.h:329
mpsGetInitializationErrorMessage
const char * mpsGetInitializationErrorMessage(void)
Returns the error message representing the failure in global initialization that sets up the programm...
mpsIsUint64
bool mpsIsUint64(const mpsArray *mlArr)
Determine whether mpsArray represents data as unsigned 64-bit integers.
mpsSTRUCT_CLASS
Identifies a structure mpsArray.
Definition: client.h:296
mpsErrorInfoHTTP::responseMessage
const char * responseMessage
HTTP response message.
Definition: client.h:181
mpsErrorInfoHTTP
Details about a non-200 HTTP response.
Definition: client.h:175
mpsArrayToString
char * mpsArrayToString(const mpsArray *mlArr)
Copy the character data of a string array into a C-style string.
mpsErrorInfoMATLAB::matlabStackDepth
size_t matlabStackDepth
Number of entries in the MATLAB stack.
Definition: client.h:214
mpsClassID
mpsClassID
Flag identifying class of array.
Definition: client.h:270
mpsChar
CHAR16_T mpsChar
Definition: client.h:140
mpsErrorInfo::matlab
mpsErrorInfoMATLAB matlab
Error thrown during execution of MATLAB code.
Definition: client.h:242
mpsClientRuntime::setPrivateKeyFile
void(* setPrivateKeyFile)(mpsClientConfig *config, const char *pkFile)
Set private key file in PEM format.
Definition: client.h:414
mpsIsCell
bool mpsIsCell(const mpsArray *mlArr)
Determine whether input is cell array.
mpsStatus
mpsStatus
Error status codes for all methods which are part of the MATLAB Production Server client API.
Definition: client.h:251
mpsGetDimensions
const mpsSize * mpsGetDimensions(const mpsArray *mlArr)
Determine how many elements are in each dimension of an array.
mpsGetLogicals
mpsLogical * mpsGetLogicals(const mpsArray *mlArr)
Access the first logical element in an array.
mpsClientRuntime::destroyLastErrorInfo
void(* destroyLastErrorInfo)(mpsErrorInfo *errorInfo)
Cleans up dynamic memory allocated while initializing mpsErrorInfo instance.
Definition: client.h:376
mpsCreateCellArray
mpsArray * mpsCreateCellArray(mpsSize ndim, const mpsSize *dims)
Create a N-dimensional cell array.
mpsClientRuntime
MATLAB Production Server client API container.
Definition: client.h:306
mpsCreateNumericMatrix
mpsArray * mpsCreateNumericMatrix(mpsSize m, mpsSize n, mpsClassID classid, mpsComplexity complexFlag)
Create a two-dimensional numeric array.
mpsCreateLogicalMatrix
mpsArray * mpsCreateLogicalMatrix(mpsSize m, mpsSize n)
Create a two-dimensional logical array.
mpsFree
void mpsFree(void *data)
Deallocate heap space using the MATLAB memory management facility.
mpsCreateString
mpsArray * mpsCreateString(const char *str)
Create a string array.
mpsCreateDoubleMatrix
mpsArray * mpsCreateDoubleMatrix(mpsSize m, mpsSize n, mpsComplexity complexFlag)
Create a two-dimensional double-precision floating-point array.
mpsCreateCharMatrixFromStrings
mpsArray * mpsCreateCharMatrixFromStrings(mpsSize rows, const char **str)
Create a two-dimensional string array.
mpsErrorInfoMATLAB::matlabStack
const matlabStackFrame * matlabStack
MATLAB stack associated with the MATLAB error.
Definition: client.h:211
mpsIsClass
bool mpsIsClass(const mpsArray *mlArr, const char *classname)
Determine whether array is member of specified class.
mpsIsEmpty
bool mpsIsEmpty(const mpsArray *mlArr)
Determine whether array is empty.
mpsSize
uint64 mpsSize
Type that represents size values, such as array dimensions.
Definition: client.h:48
mpsUINT16_CLASS
Identifies a numeric mpsArray whose data is stored as unsigned short.
Definition: client.h:276
mpsUINT32_CLASS
Identifies a numeric mpsArray whose data is stored as unsigned int.
Definition: client.h:280
mpsClientRuntime::setCAFile
void(* setCAFile)(mpsClientConfig *config, const char *caFile)
Set file Certificate Authority file in PEM format.
Definition: client.h:426
mpsGetField
mpsArray * mpsGetField(const mpsArray *mlArr, mpsIndex index, const char *fieldname)
Access the value held in the specified element of the specified field of an array of struct.
mpsErrorInfoHTTP::responseCode
unsigned int responseCode
HTTP response code.
Definition: client.h:178
mpsErrorInfoMATLAB
struct mpsErrorInfoMATLAB mpsErrorInfoMATLAB
Details about a MATLAB execution error.
mpsSINGLE_CLASS
Identifies a numeric mpsArray whose data is stored as float.
Definition: client.h:288
mpsIsSingle
bool mpsIsSingle(const mpsArray *mlArr)
Determine whether mpsArray represents data as single-precision, floating-point numbers.
mpsCreateStructMatrix
mpsArray * mpsCreateStructMatrix(mpsSize m, mpsSize n, int nfields, const char **fieldnames)
Create a two-dimensional struct array.
mpsSetM
void mpsSetM(mpsArray *mlArr, mpsSize m)
Set the first dimension of an array.
mpsIsComplex
bool mpsIsComplex(const mpsArray *mlArr)
Determine whether mpsArray contains an imaginary part.
mpsErrorInfo::type
mpsErrorInfoType type
Type of underlying error.
Definition: client.h:231
CHAR16_T
UINT16_T CHAR16_T
Definition: client.h:137
mpsClientRuntime::getResponseSizeLimit
unsigned int(* getResponseSizeLimit)(const mpsClientConfig *config)
Get the responze size limit value, in bytes, for the client.
Definition: client.h:335
mpsClientRuntime::createConfig
mpsStatus(* createConfig)(mpsClientConfig **config)
Initialize pointer to MATLAB Production Server client configuration instance with default values.
Definition: client.h:318
mpsIsUint8
bool mpsIsUint8(const mpsArray *mlArr)
Determine whether mpsArray represents data as unsigned 8-bit integers.
mpsGetN
size_t mpsGetN(const mpsArray *mlArr)
Determine the number of columns in an array.
mpsErrorInfoMATLAB::message
const char * message
Error message corresponding to the error thrown in MATLAB.
Definition: client.h:205
mpsDestroyArray
void mpsDestroyArray(mpsArray *mlArr)
Deallocate the memory occupied by an array.
mpsErrorInfoHTTP
struct mpsErrorInfoHTTP mpsErrorInfoHTTP
Details about a non-200 HTTP response.
mpsArray
struct mpsArray mpsArray
Fundamental type underlying MATLAB data.
Definition: client.h:55
mpsIsUint16
bool mpsIsUint16(const mpsArray *mlArr)
Determine whether mpsArray represents data as unsigned 16-bit integers.
mpsGetElementSize
size_t mpsGetElementSize(const mpsArray *mlArr)
Determine the number of bytes in each data element of an array.
mpsIsInt8
bool mpsIsInt8(const mpsArray *mlArr)
Determine whether mpsArray represents data as signed 8-bit integers.
mpsGetNzmax
mpsSize mpsGetNzmax(const mpsArray *mlArr)
Determine the number of non-zero elements in a sparse array.
mpsDuplicateArray
mpsArray * mpsDuplicateArray(const mpsArray *mlArr)
Make a deep copy of input mpsArray.
mpsClientRuntime::feval
mpsStatus(* feval)(mpsClientContext *context, const char *url, int nlhs, mpsArray *plhs[], int nrhs, const mpsArray *prhs[])
Invoke MATLAB function hosted by a server instance and available at a Url.
Definition: client.h:400
mpsClientRuntime::setRevocationListFile
void(* setRevocationListFile)(mpsClientConfig *config, const char *crlFile)
Set the revocation list file.
Definition: client.h:432
mpsGetIr
mpsIndex * mpsGetIr(const mpsArray *mlArr)
Determine the starting address of the ir array in a sparse array.
MPS_MATLAB_ERROR_INFO
A MATLAB execution error.
Definition: client.h:166
mpsClientRuntime::createContext
mpsStatus(* createContext)(mpsClientContext **context, const mpsClientConfig *config)
Initialize the MATLAB Production Server client execution context.
Definition: client.h:349
mpsErrorInfoMATLAB::identifier
const char * identifier
Unique error identifier corresponding to the MATLAB error.
Definition: client.h:208
mpsErrorInfoType
mpsErrorInfoType
Types of errors that can be thrown when MATLAB function invocation fails.
Definition: client.h:160
mpsRemoveField
void mpsRemoveField(mpsArray *mlArr, int fieldnumber)
Delete a field from an array of struct.
mpsGetString
int mpsGetString(const mpsArray *mlArr, char *str, mpsSize len)
Copy the character data of a string array into a C-style string.
mpsGetCell
mpsArray * mpsGetCell(const mpsArray *mlArr, mpsIndex index)
Access the contents of a cell array at a specified index.
mpsCreateCellMatrix
mpsArray * mpsCreateCellMatrix(mpsSize m, mpsSize n)
Create a two-dimensional cell array.
matlabStackFrame::file
const char * file
Name of the MATLAB file that threw the MATLAB error.
Definition: client.h:190
mpsIsStruct
bool mpsIsStruct(const mpsArray *mlArr)
Determine whether input is structure array.
mpsInitialize
mpsClientRuntime * mpsInitialize(void)
Set up the programming environment for MATLAB Production Server client based on version 1....
mpsClientRuntime::destroyContext
void(* destroyContext)(mpsClientContext *context)
Clean up the memory allocated for the client execution context.
Definition: client.h:358
MPS_FAILURE
Failure.
Definition: client.h:257
mpsGetScalar
double mpsGetScalar(const mpsArray *mlArr)
Determine the value of the first real element of an array.
mpsUINT8_CLASS
Identifies a numeric mpsArray whose data is stored as either unsigned char or byte.
Definition: client.h:272
MPS_OK
Successful invocation of a method.
Definition: client.h:254
mpsGetClassID
mpsClassID mpsGetClassID(const mpsArray *mlArr)
Determine the class of an array.
mpsGetNumberOfElements
size_t mpsGetNumberOfElements(const mpsArray *mlArr)
Determine how many elements are in the array.
mpsClientRuntime::setVerifyPeer
void(* setVerifyPeer)(mpsClientConfig *config, mpsLogical verifyPeer)
Setting this flag to false will not peform the authentication of server certificate.
Definition: client.h:446
mpsErrorInfo::general
mpsErrorInfoGeneric general
Error other than MATLAB execution error and non-200 HTTP response.
Definition: client.h:245
MPS_HTTP_ERROR_INFO
A non-200 HTTP response when MATLAB function in invoked from the client.
Definition: client.h:163
mpsCreateNumericArray
mpsArray * mpsCreateNumericArray(mpsSize ndim, const mpsSize *dims, mpsClassID classid, mpsComplexity complexFlag)
Create a two-dimensional numeric array.
mpsClientRuntime::setPrivateKeyPasswd
void(* setPrivateKeyPasswd)(mpsClientConfig *config, const char *passwd)
Set password for private key file.
Definition: client.h:420
mpsClientRuntime
struct mpsClientRuntime mpsClientRuntime
MATLAB Production Server client API container.
mpsClientConfig
struct mpsClientConfig mpsClientConfig
Structure containing information configuring the connection between the client and a server instance.
Definition: client.h:61
mpsCOMPLEX
Identifies an mpsArray with imaginary components.
Definition: client.h:266
mpsErrorInfoGeneric
Details about an error not caused by non-200 HTTP errors or MATLAB execution errors.
Definition: client.h:219
mpsCreateSparseLogicalMatrix
mpsArray * mpsCreateSparseLogicalMatrix(mpsSize m, mpsSize n, mpsSize nzmax)
Create a two-dimensional sparse array.
mpsErrorInfo::message
char const * message
Message regarding the error.
Definition: client.h:234
mpsCreateLogicalScalar
mpsArray * mpsCreateLogicalScalar(mpsLogical value)
Create a scalar logical array.
mpsIsUint32
bool mpsIsUint32(const mpsArray *mlArr)
Determine whether mpsArray represents data as unsigned 32-bit integers.
mpsINT16_CLASS
Identifies a numeric mpsArray whose data is stored as short.
Definition: client.h:278
mpsClientRuntime::getVerifyPeer
mpsLogical(* getVerifyPeer)(const mpsClientConfig *config)
Get the peer verification flag value.
Definition: client.h:449
mpsGetNumberOfFields
int mpsGetNumberOfFields(const mpsArray *mlArr)
Determine the number of fields in an array of struct.
matlabStackFrame
Entry in the MATLAB runtime stack.
Definition: client.h:187
mpsCreateCharArray
mpsArray * mpsCreateCharArray(mpsSize ndim, const mpsSize *dims)
Create a N-dimensional string array.
mpsSetField
void mpsSetField(mpsArray *mlArr, mpsIndex index, const char *fieldname, mpsArray *pvalue)
Set the value held in the specified element of the specified field of an array of struct.
mpsLogical
bool mpsLogical
Type for logical array.
Definition: client.h:157
mpsGetFieldByNumber
mpsArray * mpsGetFieldByNumber(const mpsArray *mlArr, mpsIndex index, int fieldnumber)
Access the value held in the specified field number at the indexed element of an array.
mpsIsChar
bool mpsIsChar(const mpsArray *mlArr)
Determine whether mpsArray represents a string array.
mpsGetChars
mpsChar * mpsGetChars(const mpsArray *mlArr)
Access the data in a character array.
mpsClientRuntime::destroyConfig
void(* destroyConfig)(mpsClientConfig *config)
Clean up the memory allocated to the client configuration instance.
Definition: client.h:323
mpsIsInt32
bool mpsIsInt32(const mpsArray *mlArr)
Determine whether mpsArray represents data as signed 32-bit integers.
mpsCHAR_CLASS
Identifies a string mpsArray.
Definition: client.h:294
mpsGetData
void * mpsGetData(const mpsArray *mlArr)
Access the real numeric data in an array.
mpsINT64_CLASS
Identifies a numeric mpsArray whose data is stored as long long.
Definition: client.h:286
mpsSetCell
void mpsSetCell(mpsArray *mlArr, mpsIndex index, mpsArray *value)
Set the contents of a cell array at a specified index.
mpsErrorInfoMATLAB
Details about a MATLAB execution error.
Definition: client.h:202
mpsClientRuntime::setResponseTimeOutSec
void(* setResponseTimeOutSec)(mpsClientConfig *config, unsigned long value)
Set the timeout value, in seconds, for the client to receive response from the server.
Definition: client.h:326
mpsIsSparse
bool mpsIsSparse(const mpsArray *mlArr)
Determine whether array is sparse.
mpsClientRuntime::getLastErrorInfo
void(* getLastErrorInfo)(mpsClientContext const *context, mpsErrorInfo *errorInfo)
Access the error thrown while invoking a MATLAB function from the client A MATLAB function invocation...
Definition: client.h:372
mpsErrorInfoGeneric
struct mpsErrorInfoGeneric mpsErrorInfoGeneric
Details about an error not caused by non-200 HTTP errors or MATLAB execution errors.
mpsCELL_CLASS
Identifies a cell mpsArray.
Definition: client.h:298
mpsErrorInfo::http
mpsErrorInfoHTTP http
Error caused by a non-200 HTTP response.
Definition: client.h:239
mpsSetFieldByNumber
void mpsSetFieldByNumber(mpsArray *mlArr, mpsIndex index, int fieldnumber, mpsArray *pvalue)
Set the value held in the specified field number at the indexed element of an array.
mpsIsLogicalScalarTrue
bool mpsIsLogicalScalarTrue(const mpsArray *mlArr)
Determine whether scalar array is true.
mpsUINT64_CLASS
Identifies a numeric mpsArray whose data is stored as unsigned long long.
Definition: client.h:284
mpsCalcSingleSubscript
mpsIndex mpsCalcSingleSubscript(const mpsArray *mlArr, mpsSize nsubs, mpsIndex *subs)
Determine how many elements there are between the beginning of an array and a given element.
mpsIsInt64
bool mpsIsInt64(const mpsArray *mlArr)
Determine whether mpsArray represents data as signed 64-bit integers.
mpsGetFieldNumber
int mpsGetFieldNumber(const mpsArray *mlArr, const char *fieldname)
Determine the number of a field in an array of struct given the field name.
mpsErrorInfoGeneric::genericErrorMsg
const char * genericErrorMsg
Error message corresponding to the generic error.
Definition: client.h:222
mpsCreateSparse
mpsArray * mpsCreateSparse(mpsSize m, mpsSize n, mpsSize nzmax, mpsComplexity complexFlag)
Create a two-dimensional sparse array.
mpsLOGICAL_CLASS
Identifies a logical mpsArray.
Definition: client.h:292
mpsIsDouble
bool mpsIsDouble(const mpsArray *mlArr)
Determine whether mpsArray represents data as double-precision, floating-point numbers.
mpsSetNzmax
void mpsSetNzmax(mpsArray *mlArr, mpsSize nzmax)
Set the maximum number of non-zero elements in a sparse array.
mpsErrorInfo::details
union mpsErrorInfo::@0 details
All possible errors that can be thrown when a MATLAB function is invoked from the client.
mpsINT32_CLASS
Identifies a numeric mpsArray whose data is stored as int.
Definition: client.h:282
uint64
uint64_t uint64
Definition: client.h:44
mpsCreateLogicalArray
mpsArray * mpsCreateLogicalArray(mpsSize ndim, const mpsSize *dims)
Create a N-dimensional logical array.
matlabStackFrame
struct matlabStackFrame matlabStackFrame
Entry in the MATLAB runtime stack.
mpsGetJc
mpsIndex * mpsGetJc(const mpsArray *mlArr)
Determine the starting address of the jc array in a sparse array.
mpsErrorInfo
Error thrown when a MATLAB function is invoked by the MATLAB Production Server client context.
Definition: client.h:228
mpsGetPr
double * mpsGetPr(const mpsArray *mlArr)
Access the real data in an array of doubles.
mpsClientContext
struct mpsClientContext mpsClientContext
Establishes a connection between a client and a server.
Definition: client.h:69
mpsGetNumberOfDimensions
mpsSize mpsGetNumberOfDimensions(const mpsArray *mlArr)
Determine the number of dimensions in an array.
mpsIsInt16
bool mpsIsInt16(const mpsArray *mlArr)
Determine whether mpsArray represents data as signed 16-bit integers.
mpsErrorInfo
struct mpsErrorInfo mpsErrorInfo
Error thrown when a MATLAB function is invoked by the MATLAB Production Server client context.
mpsGetImagData
void * mpsGetImagData(const mpsArray *mlArr)
Access the imaginary data in an array.
MPS_GENERIC_ERROR_INFO
Any error other than MATLAB execution error or a non-200 HTTP response.
Definition: client.h:169
mpsGetFieldNameByNumber
const char * mpsGetFieldNameByNumber(const mpsArray *mlArr, int fieldnumber)
Determine the name of a field in an array of struct given the field number.