@@ -1286,11 +1286,16 @@ extern "C" {
12861286// the same from version to version. In particular, never serialize a hash
12871287// value - recompute on unserialization of the object.
12881288
1289+ // Return a hash for the given bool.
1290+ MC_DLLEXPORT hash_t MCHashBool (bool );
1291+
12891292// Return a hash for the given integer.
12901293MC_DLLEXPORT hash_t MCHashInteger (integer_t );
12911294MC_DLLEXPORT hash_t MCHashUInteger (uinteger_t );
12921295MC_DLLEXPORT hash_t MCHashSize (ssize_t );
12931296MC_DLLEXPORT hash_t MCHashUSize (size_t );
1297+ MC_DLLEXPORT hash_t MCHashInt64 (int64_t );
1298+ MC_DLLEXPORT hash_t MCHashUInt64 (uint64_t );
12941299
12951300// Return a hash value for the given double - note that (hopefully!) hashing
12961301// an integer stored as a double will be the same as hashing the integer.
@@ -1546,24 +1551,73 @@ MC_DLLEXPORT MCTypeInfoRef MCListTypeInfo(void) ATTRIBUTE_PURE;
15461551MC_DLLEXPORT MCTypeInfoRef MCProperListTypeInfo (void ) ATTRIBUTE_PURE;
15471552
15481553MC_DLLEXPORT extern MCTypeInfoRef kMCBoolTypeInfo ;
1549- MC_DLLEXPORT extern MCTypeInfoRef kMCIntTypeInfo ;
1550- MC_DLLEXPORT extern MCTypeInfoRef kMCUIntTypeInfo ;
1554+ MC_DLLEXPORT MCTypeInfoRef MCForeignBoolTypeInfo (void ) ATTRIBUTE_PURE;
1555+
1556+ MC_DLLEXPORT extern MCTypeInfoRef kMCUInt8TypeInfo ;
1557+ MC_DLLEXPORT extern MCTypeInfoRef kMCSInt8TypeInfo ;
1558+ MC_DLLEXPORT extern MCTypeInfoRef kMCUInt16TypeInfo ;
1559+ MC_DLLEXPORT extern MCTypeInfoRef kMCSInt16TypeInfo ;
1560+ MC_DLLEXPORT extern MCTypeInfoRef kMCUInt32TypeInfo ;
1561+ MC_DLLEXPORT extern MCTypeInfoRef kMCSInt32TypeInfo ;
1562+ MC_DLLEXPORT extern MCTypeInfoRef kMCUInt64TypeInfo ;
1563+ MC_DLLEXPORT extern MCTypeInfoRef kMCSInt64TypeInfo ;
1564+ MC_DLLEXPORT MCTypeInfoRef MCForeignUInt8TypeInfo (void ) ATTRIBUTE_PURE;
1565+ MC_DLLEXPORT MCTypeInfoRef MCForeignSInt8TypeInfo (void ) ATTRIBUTE_PURE;
1566+ MC_DLLEXPORT MCTypeInfoRef MCForeignUInt16TypeInfo (void ) ATTRIBUTE_PURE;
1567+ MC_DLLEXPORT MCTypeInfoRef MCForeignSInt16TypeInfo (void ) ATTRIBUTE_PURE;
1568+ MC_DLLEXPORT MCTypeInfoRef MCForeignUInt32TypeInfo (void ) ATTRIBUTE_PURE;
1569+ MC_DLLEXPORT MCTypeInfoRef MCForeignSInt32TypeInfo (void ) ATTRIBUTE_PURE;
1570+ MC_DLLEXPORT MCTypeInfoRef MCForeignUInt64TypeInfo (void ) ATTRIBUTE_PURE;
1571+ MC_DLLEXPORT MCTypeInfoRef MCForeignSInt64TypeInfo (void ) ATTRIBUTE_PURE;
1572+
15511573MC_DLLEXPORT extern MCTypeInfoRef kMCFloatTypeInfo ;
15521574MC_DLLEXPORT extern MCTypeInfoRef kMCDoubleTypeInfo ;
1553- MC_DLLEXPORT extern MCTypeInfoRef kMCPointerTypeInfo ;
1554-
1555- MC_DLLEXPORT MCTypeInfoRef MCForeignBoolTypeInfo (void ) ATTRIBUTE_PURE;
1556- MC_DLLEXPORT MCTypeInfoRef MCForeignUIntTypeInfo (void ) ATTRIBUTE_PURE;
1557- MC_DLLEXPORT MCTypeInfoRef MCForeignIntTypeInfo (void ) ATTRIBUTE_PURE;
15581575MC_DLLEXPORT MCTypeInfoRef MCForeignFloatTypeInfo (void ) ATTRIBUTE_PURE;
15591576MC_DLLEXPORT MCTypeInfoRef MCForeignDoubleTypeInfo (void ) ATTRIBUTE_PURE;
1577+
1578+ MC_DLLEXPORT extern MCTypeInfoRef kMCPointerTypeInfo ;
15601579MC_DLLEXPORT MCTypeInfoRef MCForeignPointerTypeInfo (void ) ATTRIBUTE_PURE;
15611580
1562- MC_DLLEXPORT extern MCTypeInfoRef kMCSizeTypeInfo ;
1563- MC_DLLEXPORT extern MCTypeInfoRef kMCSSizeTypeInfo ;
1581+ MC_DLLEXPORT extern MCTypeInfoRef kMCUIntSizeTypeInfo ;
1582+ MC_DLLEXPORT extern MCTypeInfoRef kMCSIntSizeTypeInfo ;
1583+ MC_DLLEXPORT MCTypeInfoRef MCForeignUIntSizeTypeInfo (void ) ATTRIBUTE_PURE;
1584+ MC_DLLEXPORT MCTypeInfoRef MCForeignSIntSizeTypeInfo (void ) ATTRIBUTE_PURE;
1585+
1586+ MC_DLLEXPORT extern MCTypeInfoRef kMCUIntPtrTypeInfo ;
1587+ MC_DLLEXPORT extern MCTypeInfoRef kMCSIntPtrTypeInfo ;
1588+ MC_DLLEXPORT MCTypeInfoRef MCForeignUIntPtrTypeInfo (void ) ATTRIBUTE_PURE;
1589+ MC_DLLEXPORT MCTypeInfoRef MCForeignSIntPtrTypeInfo (void ) ATTRIBUTE_PURE;
1590+
1591+ MC_DLLEXPORT extern MCTypeInfoRef kMCCBoolTypeInfo ;
1592+ MC_DLLEXPORT MCTypeInfoRef MCForeignCBoolTypeInfo (void ) ATTRIBUTE_PURE;
1593+
1594+ MC_DLLEXPORT extern MCTypeInfoRef kMCCCharTypeInfo ;
1595+ MC_DLLEXPORT extern MCTypeInfoRef kMCCUCharTypeInfo ;
1596+ MC_DLLEXPORT extern MCTypeInfoRef kMCCSCharTypeInfo ;
1597+ MC_DLLEXPORT extern MCTypeInfoRef kMCCUShortTypeInfo ;
1598+ MC_DLLEXPORT extern MCTypeInfoRef kMCCSShortTypeInfo ;
1599+ MC_DLLEXPORT extern MCTypeInfoRef kMCCUIntTypeInfo ;
1600+ MC_DLLEXPORT extern MCTypeInfoRef kMCCSIntTypeInfo ;
1601+ MC_DLLEXPORT extern MCTypeInfoRef kMCCULongTypeInfo ;
1602+ MC_DLLEXPORT extern MCTypeInfoRef kMCCSLongTypeInfo ;
1603+ MC_DLLEXPORT extern MCTypeInfoRef kMCCULongLongTypeInfo ;
1604+ MC_DLLEXPORT extern MCTypeInfoRef kMCCSLongLongTypeInfo ;
1605+ MC_DLLEXPORT MCTypeInfoRef MCForeignCCharTypeInfo (void ) ATTRIBUTE_PURE;
1606+ MC_DLLEXPORT MCTypeInfoRef MCForeignCUCharTypeInfo (void ) ATTRIBUTE_PURE;
1607+ MC_DLLEXPORT MCTypeInfoRef MCForeignCSCharTypeInfo (void ) ATTRIBUTE_PURE;
1608+ MC_DLLEXPORT MCTypeInfoRef MCForeignCUShortTypeInfo (void ) ATTRIBUTE_PURE;
1609+ MC_DLLEXPORT MCTypeInfoRef MCForeignCSShortTypeInfo (void ) ATTRIBUTE_PURE;
1610+ MC_DLLEXPORT MCTypeInfoRef MCForeignCUIntTypeInfo (void ) ATTRIBUTE_PURE;
1611+ MC_DLLEXPORT MCTypeInfoRef MCForeignCSIntTypeInfo (void ) ATTRIBUTE_PURE;
1612+ MC_DLLEXPORT MCTypeInfoRef MCForeignCULongTypeInfo (void ) ATTRIBUTE_PURE;
1613+ MC_DLLEXPORT MCTypeInfoRef MCForeignCSLongTypeInfo (void ) ATTRIBUTE_PURE;
1614+ MC_DLLEXPORT MCTypeInfoRef MCForeignCULongLongTypeInfo (void ) ATTRIBUTE_PURE;
1615+ MC_DLLEXPORT MCTypeInfoRef MCForeignCSLongLongTypeInfo (void ) ATTRIBUTE_PURE;
15641616
1565- MC_DLLEXPORT MCTypeInfoRef MCForeignSizeTypeInfo (void ) ATTRIBUTE_PURE;
1566- MC_DLLEXPORT MCTypeInfoRef MCForeignSSizeTypeInfo (void ) ATTRIBUTE_PURE;
1617+ MC_DLLEXPORT extern MCTypeInfoRef kMCUIntTypeInfo ;
1618+ MC_DLLEXPORT extern MCTypeInfoRef kMCSIntTypeInfo ;
1619+ MC_DLLEXPORT MCTypeInfoRef MCForeignUIntTypeInfo (void ) ATTRIBUTE_PURE;
1620+ MC_DLLEXPORT MCTypeInfoRef MCForeignSIntTypeInfo (void ) ATTRIBUTE_PURE;
15671621
15681622// ////////
15691623
@@ -2966,6 +3020,9 @@ MC_DLLEXPORT bool MCErrorThrowGenericWithMessage(MCStringRef message, ...);
29663020// FOREIGN DEFINITIONS
29673021//
29683022
3023+ MC_DLLEXPORT extern MCTypeInfoRef kMCForeignImportErrorTypeInfo ;
3024+ MC_DLLEXPORT extern MCTypeInfoRef kMCForeignExportErrorTypeInfo ;
3025+
29693026MC_DLLEXPORT bool MCForeignValueCreate (MCTypeInfoRef typeinfo, void *contents, MCForeignValueRef& r_value);
29703027MC_DLLEXPORT bool MCForeignValueCreateAndRelease (MCTypeInfoRef typeinfo, void *contents, MCForeignValueRef& r_value);
29713028
0 commit comments