MATLAB Production Server C Client  R2021b
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 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
132 typedef char16_t CHAR16_T;
133 #elif defined(_MSC_VER)
134 typedef wchar_t CHAR16_T;
135 #else
136 typedef UINT16_T CHAR16_T;
137 #endif
138 
140 
141 #if !defined(__cplusplus)
142 
143 typedef unsigned char bool;
144 
145 #ifndef false
146 #define false (0)
147 #endif
148 #ifndef true
149 #define true (1)
150 #endif
151 
152 #endif
153 
156 typedef bool mpsLogical;
157 
159 typedef enum mpsErrorInfoType {
160 
163 
166 
169 
171 
172 
174 typedef struct mpsErrorInfoHTTP {
175 
177  unsigned int responseCode;
178 
180  const char* responseMessage;
181 
183 
184 
186 typedef struct matlabStackFrame {
187 
189  const char* file;
190 
192  const char* function;
193 
195  int line;
196 
198 
199 
201 typedef struct mpsErrorInfoMATLAB {
202 
204  const char* message;
205 
207  const char* identifier;
208 
211 
214 
216 
218 typedef struct mpsErrorInfoGeneric {
219 
221  const char* genericErrorMsg;
222 
224 
225 
227 typedef struct mpsErrorInfo {
228 
231 
233  char const* message;
234 
236  union {
239 
242 
245  } details;
246 
247 } mpsErrorInfo;
248 
250 typedef enum mpsStatus {
251 
254 
257 
258 } mpsStatus;
259 
261 typedef enum mpsComplexity {
266 } mpsComplexity;
267 
269 typedef enum mpsClassID {
298 } mpsClassID;
299 
305 typedef struct mpsClientRuntime {
306 
318 
322  void (*destroyConfig) (mpsClientConfig* config);
323 
325  void (*setResponseTimeOutSec) (mpsClientConfig* config, unsigned long value);
326 
328  unsigned long (*getResponseTimeOutSec)(const mpsClientConfig* config);
329 
331  void (*setResponseSizeLimit) (mpsClientConfig* config, unsigned int value);
332 
334  unsigned int (*getResponseSizeLimit)(const mpsClientConfig* config);
335 
349 
357  void (*destroyContext) (mpsClientContext* context);
358 
371  void (*getLastErrorInfo) (mpsClientContext const* context, mpsErrorInfo* errorInfo);
372 
375  void (*destroyLastErrorInfo) (mpsErrorInfo* errorInfo);
376 
399  mpsStatus (*feval)( mpsClientContext* context, const char* url, int nlhs, mpsArray *plhs[], int nrhs, const mpsArray *prhs[] );
400 
404 #if MPS_MAX_VER >= MPS_CLIENT_1_1
405 
407  void (*setClientCertFile) (mpsClientConfig* config, const char* certFile);
408 
410  const char* (*getClientCertFile) (const mpsClientConfig* config);
411 
413  void (*setPrivateKeyFile) (mpsClientConfig* config, const char* pkFile);
414 
416  const char* (*getPrivateKeyFile) (const mpsClientConfig* config);
417 
419  void (*setPrivateKeyPasswd) (mpsClientConfig* config, const char* passwd);
420 
422  const char* (*getPrivateKeyPasswd) (const mpsClientConfig* config);
423 
425  void (*setCAFile) (mpsClientConfig* config, const char* caFile);
426 
428  const char* (*getCAFile) (const mpsClientConfig* config);
429 
431  void (*setRevocationListFile) (mpsClientConfig* config, const char* crlFile);
432 
434  const char* (*getRevocationListFile) (const mpsClientConfig* config);
435 
437  void (*setVerifyHost) (mpsClientConfig* config, mpsLogical verifyHost);
438 
441 
445  void (*setVerifyPeer) (mpsClientConfig* config, mpsLogical verifyPeer);
446 
449 
450 #endif
451 
453 
461 
472 
478 
483 
489 
495 
501 
507 
513 
519 
525 
531 
537 
543 
549 
555 
561 
567 
573 
579 
585 
591 
616 MPSCLIENT_PUBLISHED_API_EXTERN_C bool mpsIsClass(const mpsArray* mlArr, const char* classname);
617 
623 
629 
638 
644 
654 
665  mpsClassID classid, mpsComplexity complexFlag);
666 
672 
679 
687 
693 
700 
708 
716 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray* mpsCreateStructMatrix(mpsSize m, mpsSize n, int nfields, const char **fieldnames);
717 
726 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray* mpsCreateStructArray(mpsSize ndim, const mpsSize *dims, int nfields, const char **fieldnames);
727 
734 
742 
755 
765 
775 
781 
786 
792 
798 
806 
814 
820 
833 
839 
845 
851 
857 
863 
869 
875 
881 
887 
893 
901 MPSCLIENT_PUBLISHED_API_EXTERN_C int mpsGetString(const mpsArray* mlArr, char* str, mpsSize len);
902 
908 
914 
920 
926 
933 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray *mpsGetField(const mpsArray *mlArr, mpsIndex index, const char *fieldname);
934 
941 MPSCLIENT_PUBLISHED_API_EXTERN_C void mpsSetField(mpsArray *mlArr, mpsIndex index, const char *fieldname, mpsArray *pvalue);
942 
948 
954 MPSCLIENT_PUBLISHED_API_EXTERN_C int mpsGetFieldNumber(const mpsArray *mlArr, const char *fieldname);
955 
961 MPSCLIENT_PUBLISHED_API_EXTERN_C const char *mpsGetFieldNameByNumber(const mpsArray *mlArr, int fieldnumber);
962 
969 MPSCLIENT_PUBLISHED_API_EXTERN_C mpsArray *mpsGetFieldByNumber(const mpsArray *mlArr, mpsIndex index, int fieldnumber);
970 
977 MPSCLIENT_PUBLISHED_API_EXTERN_C void mpsSetFieldByNumber(mpsArray *mlArr, mpsIndex index, int fieldnumber, mpsArray *pvalue);
978 
984 MPSCLIENT_PUBLISHED_API_EXTERN_C int mpsAddField(mpsArray *mlArr, const char *fieldname);
985 
990 MPSCLIENT_PUBLISHED_API_EXTERN_C void mpsRemoveField(mpsArray *mlArr, int fieldnumber);
991 
998 
1006 
1012 
1021 
1027 
1033 
1034 #endif
mpsDOUBLE_CLASS
Identifies a numeric mpsArray whose data is stored as double.
Definition: client.h:289
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:437
matlabStackFrame::line
int line
Line number in the MATLAB file where the error occurred.
Definition: client.h:195
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:407
mpsREAL
Identifies an mpsArray with no imaginary components.
Definition: client.h:263
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:331
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:440
mpsINT8_CLASS
Identifies a numeric mpsArray whose data is stored as either char or byte.
Definition: client.h:273
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:261
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:328
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:295
mpsErrorInfoHTTP::responseMessage
const char * responseMessage
HTTP response message.
Definition: client.h:180
mpsErrorInfoHTTP
Details about a non-200 HTTP response.
Definition: client.h:174
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:213
mpsClassID
mpsClassID
Flag identifying class of array.
Definition: client.h:269
mpsChar
CHAR16_T mpsChar
Definition: client.h:139
mpsErrorInfo::matlab
mpsErrorInfoMATLAB matlab
Error thrown during execution of MATLAB code.
Definition: client.h:241
mpsClientRuntime::setPrivateKeyFile
void(* setPrivateKeyFile)(mpsClientConfig *config, const char *pkFile)
Set private key file in PEM format.
Definition: client.h:413
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:250
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:375
mpsCreateCellArray
mpsArray * mpsCreateCellArray(mpsSize ndim, const mpsSize *dims)
Create a N-dimensional cell array.
mpsClientRuntime
MATLAB Production Server client API container.
Definition: client.h:305
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:210
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:275
mpsUINT32_CLASS
Identifies a numeric mpsArray whose data is stored as unsigned int.
Definition: client.h:279
mpsClientRuntime::setCAFile
void(* setCAFile)(mpsClientConfig *config, const char *caFile)
Set file Certificate Authority file in PEM format.
Definition: client.h:425
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:177
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:287
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:230
CHAR16_T
UINT16_T CHAR16_T
Definition: client.h:136
mpsClientRuntime::getResponseSizeLimit
unsigned int(* getResponseSizeLimit)(const mpsClientConfig *config)
Get the responze size limit value, in bytes, for the client.
Definition: client.h:334
mpsClientRuntime::createConfig
mpsStatus(* createConfig)(mpsClientConfig **config)
Initialize pointer to MATLAB Production Server client configuration instance with default values.
Definition: client.h:317
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:204
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:399
mpsClientRuntime::setRevocationListFile
void(* setRevocationListFile)(mpsClientConfig *config, const char *crlFile)
Set the revocation list file.
Definition: client.h:431
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:165
mpsClientRuntime::createContext
mpsStatus(* createContext)(mpsClientContext **context, const mpsClientConfig *config)
Initialize the MATLAB Production Server client execution context.
Definition: client.h:348
mpsErrorInfoMATLAB::identifier
const char * identifier
Unique error identifier corresponding to the MATLAB error.
Definition: client.h:207
mpsErrorInfoType
mpsErrorInfoType
Types of errors that can be thrown when MATLAB function invocation fails.
Definition: client.h:159
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:189
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:357
MPS_FAILURE
Failure.
Definition: client.h:256
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:271
MPS_OK
Successful invocation of a method.
Definition: client.h:253
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:445
mpsErrorInfo::general
mpsErrorInfoGeneric general
Error other than MATLAB execution error and non-200 HTTP response.
Definition: client.h:244
MPS_HTTP_ERROR_INFO
A non-200 HTTP response when MATLAB function in invoked from the client.
Definition: client.h:162
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:419
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:265
mpsErrorInfoGeneric
Details about an error not caused by non-200 HTTP errors or MATLAB execution errors.
Definition: client.h:218
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:233
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:277
mpsClientRuntime::getVerifyPeer
mpsLogical(* getVerifyPeer)(const mpsClientConfig *config)
Get the peer verification flag value.
Definition: client.h:448
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:186
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:156
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:322
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:293
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:285
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:201
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:325
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:371
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:297
mpsErrorInfo::http
mpsErrorInfoHTTP http
Error caused by a non-200 HTTP response.
Definition: client.h:238
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:283
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:221
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:291
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:281
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:227
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:168
mpsGetFieldNameByNumber
const char * mpsGetFieldNameByNumber(const mpsArray *mlArr, int fieldnumber)
Determine the name of a field in an array of struct given the field number.