- add some more const declarations

pull/6/head
Michael Zillgith 11 years ago
parent a3ae9cb589
commit 3932102f86

@ -148,7 +148,7 @@ Conversions_msTimeToGeneralizedTime(uint64_t msTime, uint8_t* buffer)
} }
static int static int
getSecondsOffset(char* offsetString) getSecondsOffset(const char* offsetString)
{ {
int hourOffset = StringUtils_digitsToInt(offsetString, 2); int hourOffset = StringUtils_digitsToInt(offsetString, 2);
@ -166,7 +166,7 @@ getSecondsOffset(char* offsetString)
} }
uint64_t uint64_t
Conversions_generalizedTimeToMsTime(char* gtString) Conversions_generalizedTimeToMsTime(const char* gtString)
{ {
int gtStringLen = strlen(gtString); int gtStringLen = strlen(gtString);
@ -205,12 +205,12 @@ Conversions_generalizedTimeToMsTime(char* gtString)
int msOffset = 0; int msOffset = 0;
char* parsePos = gtString + 14; const char* parsePos = gtString + 14;
/* parse optional fraction of second field */ /* parse optional fraction of second field */
if (*(parsePos) == '.') { if (*(parsePos) == '.') {
parsePos++; parsePos++;
char* fractionOfSecondStart = parsePos; const char* fractionOfSecondStart = parsePos;
int fractionOfSecondLen = 0; int fractionOfSecondLen = 0;
@ -266,7 +266,7 @@ Conversions_generalizedTimeToMsTime(char* gtString)
} }
void void
memcpyReverseByteOrder(uint8_t* dst, uint8_t* src, int size) memcpyReverseByteOrder(uint8_t* dst, const uint8_t* src, int size)
{ {
int i = 0; int i = 0;
for (i = 0; i < size; i++) { for (i = 0; i < size; i++) {

@ -35,9 +35,9 @@ void
Conversions_msTimeToGeneralizedTime(uint64_t msTime, uint8_t* buffer); Conversions_msTimeToGeneralizedTime(uint64_t msTime, uint8_t* buffer);
uint64_t uint64_t
Conversions_generalizedTimeToMsTime(char* gtString); Conversions_generalizedTimeToMsTime(const char* gtString);
void void
memcpyReverseByteOrder(uint8_t* dst, uint8_t* src, int size); memcpyReverseByteOrder(uint8_t* dst, const uint8_t* src, int size);
#endif /* CONVERSIONS_H_ */ #endif /* CONVERSIONS_H_ */

@ -50,7 +50,7 @@ char*
createStringInBuffer(char* buffer, int count, ...); createStringInBuffer(char* buffer, int count, ...);
char* char*
createStringFromBuffer(uint8_t* buf, int size); createStringFromBuffer(const uint8_t* buf, int size);
void void
StringUtils_replace(char* string, char oldChar, char newChar); StringUtils_replace(char* string, char oldChar, char newChar);
@ -62,7 +62,7 @@ int
StringUtils_digitToInt(char digit); StringUtils_digitToInt(char digit);
int int
StringUtils_digitsToInt(char* digits, int count); StringUtils_digitsToInt(const char* digits, int count);
int int
StringUtils_createBufferFromHexString(char* hexString, uint8_t* buffer); StringUtils_createBufferFromHexString(char* hexString, uint8_t* buffer);

@ -61,7 +61,7 @@ copyStringToBuffer(const char* string, char* buffer)
char* char*
createStringFromBuffer(uint8_t* buf, int size) createStringFromBuffer(const uint8_t* buf, int size)
{ {
char* newStr = (char*) GLOBAL_MALLOC(size + 1); char* newStr = (char*) GLOBAL_MALLOC(size + 1);
@ -159,7 +159,7 @@ StringUtils_digitToInt(char digit)
} }
int int
StringUtils_digitsToInt(char* digits, int count) StringUtils_digitsToInt(const char* digits, int count)
{ {
int i = 0; int i = 0;
int value = 0; int value = 0;

@ -299,7 +299,7 @@ IedConnection_getGoCBValues(IedConnection self, IedClientError* error, const cha
const char* itemIdStart = goCBReference + strlen(domainId) + 1; const char* itemIdStart = goCBReference + strlen(domainId) + 1;
char* separator = strchr(itemIdStart, '.'); const char* separator = strchr(itemIdStart, '.');
if (separator == NULL) { if (separator == NULL) {
*error = IED_ERROR_OBJECT_REFERENCE_INVALID; *error = IED_ERROR_OBJECT_REFERENCE_INVALID;

@ -34,7 +34,7 @@
static bool static bool
isBufferedRcb(const char* objectReference) isBufferedRcb(const char* objectReference)
{ {
char* separator = strchr(objectReference, '.'); const char* separator = strchr(objectReference, '.');
if (separator == NULL) if (separator == NULL)
return false; //TODO report an error return false; //TODO report an error

@ -340,7 +340,7 @@ IedServer_getAttributeValue(IedServer self, DataAttribute* dataAttribute);
* \return true or false * \return true or false
*/ */
bool bool
IedServer_getBooleanAttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getBooleanAttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**
* \brief Get data attribute value of an integer data attribute * \brief Get data attribute value of an integer data attribute
@ -354,7 +354,7 @@ IedServer_getBooleanAttributeValue(IedServer self, DataAttribute* dataAttribute)
* \return the value as 32 bit integer * \return the value as 32 bit integer
*/ */
int32_t int32_t
IedServer_getInt32AttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getInt32AttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**
* \brief Get data attribute value of an integer data attribute * \brief Get data attribute value of an integer data attribute
@ -368,7 +368,7 @@ IedServer_getInt32AttributeValue(IedServer self, DataAttribute* dataAttribute);
* \return the value as 64 bit integer * \return the value as 64 bit integer
*/ */
int64_t int64_t
IedServer_getInt64AttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getInt64AttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**
* \brief Get data attribute value of an unsigned integer data attribute * \brief Get data attribute value of an unsigned integer data attribute
@ -382,7 +382,7 @@ IedServer_getInt64AttributeValue(IedServer self, DataAttribute* dataAttribute);
* \return the value as 32 bit unsigned integer * \return the value as 32 bit unsigned integer
*/ */
uint32_t uint32_t
IedServer_getUInt32AttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getUInt32AttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**
* \brief Get data attribute value of a floating point data attribute * \brief Get data attribute value of a floating point data attribute
@ -396,7 +396,7 @@ IedServer_getUInt32AttributeValue(IedServer self, DataAttribute* dataAttribute);
* \return the value as 32 bit float * \return the value as 32 bit float
*/ */
float float
IedServer_getFloatAttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getFloatAttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**
* \brief Get data attribute value of a UTC time data attribute * \brief Get data attribute value of a UTC time data attribute
@ -410,7 +410,7 @@ IedServer_getFloatAttributeValue(IedServer self, DataAttribute* dataAttribute);
* \return the value as 32 bit float * \return the value as 32 bit float
*/ */
uint64_t uint64_t
IedServer_getUTCTimeAttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getUTCTimeAttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**
* \brief Get data attribute value of a bit string data attribute as integer value * \brief Get data attribute value of a bit string data attribute as integer value
@ -428,7 +428,7 @@ IedServer_getUTCTimeAttributeValue(IedServer self, DataAttribute* dataAttribute)
* \return the value a 32 bit integer. * \return the value a 32 bit integer.
*/ */
uint32_t uint32_t
IedServer_getBitStringAttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getBitStringAttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**
* \brief Get data attribute value of a string type data attribute * \brief Get data attribute value of a string type data attribute
@ -442,7 +442,7 @@ IedServer_getBitStringAttributeValue(IedServer self, DataAttribute* dataAttribut
* \return the value as a C string (null terminated string) * \return the value as a C string (null terminated string)
*/ */
char* char*
IedServer_getStringAttributeValue(IedServer self, DataAttribute* dataAttribute); IedServer_getStringAttributeValue(IedServer self, const DataAttribute* dataAttribute);
/** /**

@ -656,7 +656,7 @@ IedServer_getAttributeValue(IedServer self, DataAttribute* dataAttribute)
} }
bool bool
IedServer_getBooleanAttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getBooleanAttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);
@ -667,7 +667,7 @@ IedServer_getBooleanAttributeValue(IedServer self, DataAttribute* dataAttribute)
} }
int32_t int32_t
IedServer_getInt32AttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getInt32AttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);
@ -679,7 +679,7 @@ IedServer_getInt32AttributeValue(IedServer self, DataAttribute* dataAttribute)
} }
int64_t int64_t
IedServer_getInt64AttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getInt64AttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);
@ -691,7 +691,7 @@ IedServer_getInt64AttributeValue(IedServer self, DataAttribute* dataAttribute)
} }
uint32_t uint32_t
IedServer_getUInt32AttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getUInt32AttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);
@ -703,7 +703,7 @@ IedServer_getUInt32AttributeValue(IedServer self, DataAttribute* dataAttribute)
} }
float float
IedServer_getFloatAttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getFloatAttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);
@ -714,7 +714,7 @@ IedServer_getFloatAttributeValue(IedServer self, DataAttribute* dataAttribute)
} }
uint64_t uint64_t
IedServer_getUTCTimeAttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getUTCTimeAttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);
@ -725,7 +725,7 @@ IedServer_getUTCTimeAttributeValue(IedServer self, DataAttribute* dataAttribute)
} }
uint32_t uint32_t
IedServer_getBitStringAttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getBitStringAttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);
@ -737,7 +737,7 @@ IedServer_getBitStringAttributeValue(IedServer self, DataAttribute* dataAttribut
} }
char* char*
IedServer_getStringAttributeValue(IedServer self, DataAttribute* dataAttribute) IedServer_getStringAttributeValue(IedServer self, const DataAttribute* dataAttribute)
{ {
assert(self != NULL); assert(self != NULL);
assert(dataAttribute != NULL); assert(dataAttribute != NULL);

@ -132,7 +132,7 @@ MmsValue_setElement(MmsValue* complexValue, int index, MmsValue* elementValue);
*************************************************************************************/ *************************************************************************************/
MmsDataAccessError MmsDataAccessError
MmsValue_getDataAccessError(MmsValue* self); MmsValue_getDataAccessError(const MmsValue* self);
/** /**
* \brief Get the int64_t value of a MmsValue object. * \brief Get the int64_t value of a MmsValue object.
@ -142,7 +142,7 @@ MmsValue_getDataAccessError(MmsValue* self);
* \return signed 64 bit integer * \return signed 64 bit integer
*/ */
int64_t int64_t
MmsValue_toInt64(MmsValue* self); MmsValue_toInt64(const MmsValue* self);
/** /**
* \brief Get the int32_t value of a MmsValue object. * \brief Get the int32_t value of a MmsValue object.
@ -152,7 +152,7 @@ MmsValue_toInt64(MmsValue* self);
* \return signed 32 bit integer * \return signed 32 bit integer
*/ */
int32_t int32_t
MmsValue_toInt32(MmsValue* value); MmsValue_toInt32(const MmsValue* value);
/** /**
* \brief Get the uint32_t value of a MmsValue object. * \brief Get the uint32_t value of a MmsValue object.
@ -162,7 +162,7 @@ MmsValue_toInt32(MmsValue* value);
* \return unsigned 32 bit integer * \return unsigned 32 bit integer
*/ */
uint32_t uint32_t
MmsValue_toUint32(MmsValue* value); MmsValue_toUint32(const MmsValue* value);
/** /**
* \brief Get the double value of a MmsValue object. * \brief Get the double value of a MmsValue object.
@ -172,7 +172,7 @@ MmsValue_toUint32(MmsValue* value);
* \return 64 bit floating point value * \return 64 bit floating point value
*/ */
double double
MmsValue_toDouble(MmsValue* self); MmsValue_toDouble(const MmsValue* self);
/** /**
* \brief Get the float value of a MmsValue object. * \brief Get the float value of a MmsValue object.
@ -182,7 +182,7 @@ MmsValue_toDouble(MmsValue* self);
* \return 32 bit floating point value * \return 32 bit floating point value
*/ */
float float
MmsValue_toFloat(MmsValue* self); MmsValue_toFloat(const MmsValue* self);
/** /**
* \brief Get the unix timestamp of a MmsValue object of type MMS_UTCTIME. * \brief Get the unix timestamp of a MmsValue object of type MMS_UTCTIME.
@ -192,7 +192,7 @@ MmsValue_toFloat(MmsValue* self);
* \return unix timestamp of the MMS_UTCTIME variable. * \return unix timestamp of the MMS_UTCTIME variable.
*/ */
uint32_t uint32_t
MmsValue_toUnixTimestamp(MmsValue* self); MmsValue_toUnixTimestamp(const MmsValue* self);
/** /**
* \brief Set the float value of a MmsValue object. * \brief Set the float value of a MmsValue object.
@ -290,7 +290,7 @@ MmsValue_setBoolean(MmsValue* value, bool boolValue);
* \return the MmsValue value as bool value * \return the MmsValue value as bool value
*/ */
bool bool
MmsValue_getBoolean(MmsValue* value); MmsValue_getBoolean(const MmsValue* value);
char* char*
MmsValue_toString(MmsValue* self); MmsValue_toString(MmsValue* self);
@ -435,7 +435,7 @@ MmsValue_setUtcTimeMs(MmsValue* self, uint64_t timeval);
* \param buffer buffer containing the encoded UTCTime. * \param buffer buffer containing the encoded UTCTime.
*/ */
void void
MmsValue_setUtcTimeByBuffer(MmsValue* self, uint8_t* buffer); MmsValue_setUtcTimeByBuffer(MmsValue* self, const uint8_t* buffer);
/** /**
* \brief Get a millisecond time value from an MmsValue object of MMS_UTCTIME type. * \brief Get a millisecond time value from an MmsValue object of MMS_UTCTIME type.
@ -445,7 +445,7 @@ MmsValue_setUtcTimeByBuffer(MmsValue* self, uint8_t* buffer);
* \return the value in milliseconds since epoch (1970/01/01 00:00 UTC) * \return the value in milliseconds since epoch (1970/01/01 00:00 UTC)
*/ */
uint64_t uint64_t
MmsValue_getUtcTimeInMs(MmsValue* value); MmsValue_getUtcTimeInMs(const MmsValue* value);
/** /**
* \brief set the TimeQuality byte of the UtcTime * \brief set the TimeQuality byte of the UtcTime
@ -479,7 +479,7 @@ MmsValue_setUtcTimeQuality(MmsValue* self, uint8_t timeQuality);
* \return the byte representing the time quality * \return the byte representing the time quality
*/ */
uint8_t uint8_t
MmsValue_getUtcTimeQuality(MmsValue* self); MmsValue_getUtcTimeQuality(const MmsValue* self);
/** /**
* \brief Update an MmsValue object of type MMS_BINARYTIME with a millisecond time. * \brief Update an MmsValue object of type MMS_BINARYTIME with a millisecond time.
@ -498,7 +498,7 @@ MmsValue_setBinaryTime(MmsValue* self, uint64_t timestamp);
* \return the value in milliseconds since epoch (1970/01/01 00:00 UTC) * \return the value in milliseconds since epoch (1970/01/01 00:00 UTC)
*/ */
uint64_t uint64_t
MmsValue_getBinaryTimeAsUtcMs(MmsValue* self); MmsValue_getBinaryTimeAsUtcMs(const MmsValue* self);
/** /**
* \brief Set the value of an MmsValue object of type MMS_OCTET_STRING. * \brief Set the value of an MmsValue object of type MMS_OCTET_STRING.
@ -522,7 +522,7 @@ MmsValue_setOctetString(MmsValue* self, uint8_t* buf, int size);
* \return size in bytes * \return size in bytes
*/ */
uint16_t uint16_t
MmsValue_getOctetStringSize(MmsValue* self); MmsValue_getOctetStringSize(const MmsValue* self);
/** /**
* \brief Returns the maximum size in bytes of an MmsValue object of type MMS_OCTET_STRING. * \brief Returns the maximum size in bytes of an MmsValue object of type MMS_OCTET_STRING.
@ -822,7 +822,7 @@ MmsValue*
MmsValue_newMmsString(char* string); MmsValue_newMmsString(char* string);
void void
MmsValue_setMmsString(MmsValue* value, char* string); MmsValue_setMmsString(MmsValue* value, const char* string);
/** /**
* \brief Create a new MmsValue instance of type MMS_UTCTIME. * \brief Create a new MmsValue instance of type MMS_UTCTIME.

@ -654,7 +654,7 @@ MmsValue_setBoolean(MmsValue* self, bool boolValue)
} }
bool bool
MmsValue_getBoolean(MmsValue* self) MmsValue_getBoolean(const MmsValue* self)
{ {
return self->value.boolean; return self->value.boolean;
} }
@ -711,13 +711,13 @@ MmsValue_setUtcTimeQuality(MmsValue* self, uint8_t timeQuality)
} }
uint8_t uint8_t
MmsValue_getUtcTimeQuality(MmsValue* self) MmsValue_getUtcTimeQuality(const MmsValue* self)
{ {
return self->value.utcTime[7]; return self->value.utcTime[7];
} }
void void
MmsValue_setUtcTimeByBuffer(MmsValue* self, uint8_t* buffer) MmsValue_setUtcTimeByBuffer(MmsValue* self, const uint8_t* buffer)
{ {
uint8_t* valueArray = self->value.utcTime; uint8_t* valueArray = self->value.utcTime;
@ -728,10 +728,10 @@ MmsValue_setUtcTimeByBuffer(MmsValue* self, uint8_t* buffer)
} }
uint64_t uint64_t
MmsValue_getUtcTimeInMs(MmsValue* self) MmsValue_getUtcTimeInMs(const MmsValue* self)
{ {
uint32_t timeval32; uint32_t timeval32;
uint8_t* valueArray = self->value.utcTime; const uint8_t* valueArray = self->value.utcTime;
#if (ORDER_LITTLE_ENDIAN == 1) #if (ORDER_LITTLE_ENDIAN == 1)
memcpyReverseByteOrder((uint8_t*) &timeval32, valueArray, 4); memcpyReverseByteOrder((uint8_t*) &timeval32, valueArray, 4);
@ -800,7 +800,7 @@ MmsValue_newIntegerFromInt64(int64_t integer)
* Convert signed integer to int32_t * Convert signed integer to int32_t
*/ */
int32_t int32_t
MmsValue_toInt32(MmsValue* self) MmsValue_toInt32(const MmsValue* self)
{ {
int32_t integerValue = 0; int32_t integerValue = 0;
@ -811,7 +811,7 @@ MmsValue_toInt32(MmsValue* self)
} }
uint32_t uint32_t
MmsValue_toUint32(MmsValue* self) MmsValue_toUint32(const MmsValue* self)
{ {
uint32_t integerValue = 0; uint32_t integerValue = 0;
@ -825,7 +825,7 @@ MmsValue_toUint32(MmsValue* self)
* Convert signed integer to int64_t and do sign extension if required * Convert signed integer to int64_t and do sign extension if required
*/ */
int64_t int64_t
MmsValue_toInt64(MmsValue* self) MmsValue_toInt64(const MmsValue* self)
{ {
int64_t integerValue = 0; int64_t integerValue = 0;
@ -836,7 +836,7 @@ MmsValue_toInt64(MmsValue* self)
} }
float float
MmsValue_toFloat(MmsValue* self) MmsValue_toFloat(const MmsValue* self)
{ {
if (self->type == MMS_FLOAT) { if (self->type == MMS_FLOAT) {
if (self->value.floatingPoint.formatWidth == 32) { if (self->value.floatingPoint.formatWidth == 32) {
@ -858,7 +858,7 @@ MmsValue_toFloat(MmsValue* self)
} }
double double
MmsValue_toDouble(MmsValue* self) MmsValue_toDouble(const MmsValue* self)
{ {
if (self->type == MMS_FLOAT) { if (self->type == MMS_FLOAT) {
double val; double val;
@ -878,7 +878,7 @@ MmsValue_toDouble(MmsValue* self)
uint32_t uint32_t
MmsValue_toUnixTimestamp(MmsValue* self) MmsValue_toUnixTimestamp(const MmsValue* self)
{ {
uint32_t timestamp; uint32_t timestamp;
uint8_t* timeArray = (uint8_t*) &timestamp; uint8_t* timeArray = (uint8_t*) &timestamp;
@ -1289,7 +1289,7 @@ MmsValue_setOctetString(MmsValue* self, uint8_t* buf, int size)
} }
uint16_t uint16_t
MmsValue_getOctetStringSize(MmsValue* self) MmsValue_getOctetStringSize(const MmsValue* self)
{ {
return self->value.octetString.size; return self->value.octetString.size;
} }
@ -1602,11 +1602,11 @@ MmsValue_setBinaryTime(MmsValue* self, uint64_t timestamp)
} }
uint64_t uint64_t
MmsValue_getBinaryTimeAsUtcMs(MmsValue* self) MmsValue_getBinaryTimeAsUtcMs(const MmsValue* self)
{ {
uint64_t timestamp = 0; uint64_t timestamp = 0;
uint8_t* binaryTimeBuf = self->value.binaryTime.buf; const uint8_t* binaryTimeBuf = self->value.binaryTime.buf;
if (self->value.binaryTime.size == 6) { if (self->value.binaryTime.size == 6) {
@ -1636,13 +1636,13 @@ MmsValue_getBinaryTimeAsUtcMs(MmsValue* self)
} }
MmsDataAccessError MmsDataAccessError
MmsValue_getDataAccessError(MmsValue* self) MmsValue_getDataAccessError(const MmsValue* self)
{ {
return self->value.dataAccessError; return self->value.dataAccessError;
} }
void void
MmsValue_setMmsString(MmsValue* self, char* string) MmsValue_setMmsString(MmsValue* self, const char* string)
{ {
if (self->type == MMS_STRING) { if (self->type == MMS_STRING) {
assert(self->value.visibleString.buf != NULL); assert(self->value.visibleString.buf != NULL);
@ -1652,7 +1652,7 @@ MmsValue_setMmsString(MmsValue* self, char* string)
} }
static MmsValue* static MmsValue*
MmsValue_newStringFromByteArray(uint8_t* byteArray, int size, MmsType type) MmsValue_newStringFromByteArray(const uint8_t* byteArray, int size, MmsType type)
{ {
MmsValue* self = (MmsValue*) GLOBAL_CALLOC(1, sizeof(MmsValue)); MmsValue* self = (MmsValue*) GLOBAL_CALLOC(1, sizeof(MmsValue));

Loading…
Cancel
Save