hqlcppsys.ecl 87 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879
  1. /*##############################################################################
  2. HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems.
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. ############################################################################## */
  13. #ifndef HQLCPPSYS_HPP
  14. #define HQLCPPSYS_HPP
  15. const char * cppSystemText[] = {
  16. //Definition of all the system functions that are explicitly called by the code generator
  17. //Should consider moving this to a reserved module within the ecllibrary.
  18. "shared dummyRecord := { string1 x };",
  19. //typedefs to clarify the prototypes. One day these will become real classes.
  20. "shared IOutputRowSerializer := boolean;",
  21. "shared IOutputRowDeserializer := boolean;",
  22. "shared IHThorHashLookupInfo := boolean;",
  23. "export InternalCppService := SERVICE",
  24. // searchTableStringN(unsigned4 num, string table, string search) : library='eclrtl';
  25. // memcpy(void * target, void * src, unsigned len);
  26. //internal code generation helper functions...
  27. " unsigned4 an2l4(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlStrToUInt4';",
  28. " unsigned8 an2l8(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlStrToUInt8';",
  29. " integer4 an2ls4(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlStrToInt4';",
  30. " integer8 an2ls8(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlStrToInt8';",
  31. " real8 an2f(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlStrToReal';",
  32. " boolean an2b(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlStrToBool';",
  33. " unsigned4 en2l4(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlEStrToUInt4';",
  34. " unsigned8 en2l8(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlEStrToUInt8';",
  35. " integer4 en2ls4(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlEStrToInt4';",
  36. " integer8 en2ls8(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlEStrToInt8';",
  37. " real8 en2f(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlEStrToReal';",
  38. " real8 ex2f(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtl_ex2f';",
  39. " unsigned4 vn2l4(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVStrToUInt4';",
  40. " unsigned8 vn2l8(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVStrToUInt8';",
  41. " integer4 vn2ls4(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVStrToInt4';",
  42. " integer8 vn2ls8(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVStrToInt8';",
  43. " real8 vn2f(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVStrToReal';",
  44. " boolean vn2b(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVStrToBool';",
  45. " string _intformat(integer8 value, unsigned4 width, unsigned4 flags) : eclrtl,pure,library='eclrtl',entrypoint='rtlIntFormat';",
  46. " string _realformat(real8 value, unsigned4 width, unsigned4 places) : eclrtl,pure,library='eclrtl',entrypoint='rtlRealFormat';",
  47. " l42an(string target, unsigned integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt4ToStr';",
  48. " l82an(string target, unsigned integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt8ToStr';",
  49. " ls42an(string target, integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt4ToStr';",
  50. " ls82an(string target, integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt8ToStr';",
  51. " l42vn(string target, unsigned integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt4ToVStr';",
  52. " l82vn(string target, unsigned integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt8ToVStr';",
  53. " ls42vn(string target, integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt4ToVStr';",
  54. " ls82vn(string target, integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt8ToVStr';",
  55. " varstring l42vx(unsigned integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt4ToVStrX';",
  56. " varstring l82vx(unsigned integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt8ToVStrX';",
  57. " varstring ls42vx(integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt4ToVStrX';",
  58. " varstring ls82vx(integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt8ToVStrX';",
  59. " string l42ax(unsigned integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt4ToStrX';",
  60. " string l82ax(unsigned integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUInt8ToStrX';",
  61. " string ls42ax(integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt4ToStrX';",
  62. " string ls82ax(integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlInt8ToStrX';",
  63. " f2an(string target, real8 val) : eclrtl,pure,library='eclrtl',entrypoint='rtlRealToStr';",
  64. " string _f2ax(real8 val) : eclrtl,pure,library='eclrtl',entrypoint='rtlRealToStrX';",
  65. " f2vn(string target, real8 val) : eclrtl,pure,library='eclrtl',entrypoint='rtlRealToVStr';",
  66. " varstring f2vx(real8 val) : eclrtl,pure,library='eclrtl',entrypoint='rtlRealToVStrX';",
  67. " string str2StrX(const data src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlStrToStrX';",
  68. " data str2DataX(const data src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlStrToDataX';",
  69. " varstring str2VStrX(const data src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlStrToVStrX';",
  70. " varstring estr2VStrX(const ebcdic string src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlEStrToVStrX';",
  71. " string ebcdic2asciiX(const ebcdic string src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlEStrToStrX';",
  72. " ebcdic string ascii2ebcdicX(const string src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlStrToEStrX';",
  73. " strToQStr(qstring tgt, const data src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlStrToQStr';",
  74. " qstring strToQStrX(const data src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlStrToQStrX';",
  75. " string qstr2StrX(const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToStrX';",
  76. " data qstr2DataX(const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToDataX';",
  77. " boolean qstr2Bool(const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToBool';",
  78. " qstr2Data(data tgt, const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToData';",
  79. " qstr2Str(string tgt, const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToStr';",
  80. " qstrToQStr(qstring tgt, const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToQStr';",
  81. " qstring qstrToQStrX(const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToQStrX';",
  82. " qstr2VStr(string tgt, const qstring src) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrToVStr';",
  83. " unsigned4 qstrLength(unsigned4 sz) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrLength';",
  84. " unsigned4 qstrSize(unsigned4 len) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlQStrSize';",
  85. " DecPushQString(const data src) : eclrtl,library='eclrtl',entrypoint='rtlDecPushQStr';",
  86. " DecPushUnicode(const unicode src) : eclrtl,library='eclrtl',entrypoint='rtlDecPushUnicode';",
  87. // a lie, actually has ... parameters.
  88. " string concat(string tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcat';",
  89. " varstring concatVStr(string tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatVStr';",
  90. " unicode concatUnicode(unicode tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatUnicode';",
  91. " varunicode concatVUnicode(varunicode tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatVUnicode';",
  92. " utf8 concatUtf8(utf8 tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatUtf8';",
  93. " varstring createQuotedString(string tgt) : eclrtl,pure,library='eclrtl',entrypoint='rtlCreateQuotedString';",
  94. " concatExtend(boolean prev, const string src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlConcatExtend';",
  95. " concatStrF(data tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatStrF';",
  96. " concatVStrF(string tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatVStrF';",
  97. " concatUnicodeF(unicode tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatUnicodeF';",
  98. " concatVUNicodeF(unicode tgt) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlConcatVUnicodeF';",
  99. " string concatStrExtend(const string src) : eclrtl,extend,pure,library='eclrtl',include,entrypoint='rtlConcatExtend';",
  100. " unicode concatUnicodeExtend(const unicode src) : eclrtl,extend,pure,library='eclrtl',include,entrypoint='rtlConcatUnicodeExtend';",
  101. " unsigned4 concatStr2Str(string tgt, unsigned4 idx, const string src) : eclrtl,library='eclrtl',entrypoint='rtlConcatStrToStr';",
  102. " unsigned4 concatVStr2Str(string tgt, unsigned4 idx, const varstring src) : eclrtl,library='eclrtl',entrypoint='rtlConcatVStrToStr';",
  103. " unsigned4 concatUtf8ToUtf8(utf8 tgt, unsigned4 idx, const utf8 src) : eclrtl,library='eclrtl',entrypoint='rtlConcatUtf8ToUtf8';",
  104. " unsigned4 concatUnicodeToUnicode(unicode tgt, unsigned4 idx, const unicode src) : eclrtl,library='eclrtl',entrypoint='rtlConcatUnicodeToUnicode';",
  105. " unsigned4 concatVUnicodeToUnicode(unicode tgt, unsigned4 idx, const varunicode src) : eclrtl,library='eclrtl',entrypoint='rtlConcatVUnicodeToUnicode';",
  106. " codepage2Unicode(unicode tgt, const string src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlCodepageToUnicode';",
  107. " codepage2VUnicode(unicode tgt, const string src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlCodepageToVUnicode';",
  108. " vcodepage2Unicode(unicode tgt, const varstring src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVCodepageToUnicode';",
  109. " vcodepage2VUnicode(unicode tgt, const varstring src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVCodepageToVUnicode';",
  110. " unicode2Codepage(string tgt, const unicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToCodepage';",
  111. " unicode2Data(data tgt, const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToData';",
  112. " unicode2VCodepage(string tgt, const unicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToVCodepage';",
  113. " vunicode2Codepage(string tgt, const varunicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToCodepage';",
  114. " vunicode2Data(data tgt, const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToData';",
  115. " vunicode2VCodepage(string tgt, const varunicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToVCodepage';",
  116. " unicode2Unicode(unicode tgt, const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToUnicode';",
  117. " unicode2VUnicode(unicode tgt, const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToVUnicode';",
  118. " vunicode2Unicode(unicode tgt, const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToUnicode';",
  119. " vunicode2VUnicode(unicode tgt, const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToVUnicode';",
  120. " unicode codepage2UnicodeX(const string src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlCodepageToUnicodeX';",
  121. " varunicode codepage2VUnicodeX(const string src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlCodepageToVUnicodeX';",
  122. " unicode vcodepage2UnicodeX(const varstring src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVCodepageToUnicodeX';",
  123. " varunicode vcodepage2VUnicodeX(const varstring src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVCodepageToVUnicodeX';",
  124. " string unicode2CodepageX(const unicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToCodepageX';",
  125. " data unicode2DataX(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToDataX';",
  126. " varstring unicode2VCodepageX(const unicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToVCodepageX';",
  127. " string vunicode2CodepageX(const varunicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToCodepageX';",
  128. " varstring vunicode2VCodepageX(const varunicode src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToVCodepageX';",
  129. " unicode unicode2UnicodeX(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToUnicodeX';",
  130. " varunicode unicode2VUnicodeX(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToVUnicodeX';",
  131. " unicode vunicode2UnicodeX(const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToUnicodeX';",
  132. " varunicode vunicode2VUnicodeX(const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlVUnicodeToVUnicodeX';",
  133. " unicodeStrcpy(varunicode tgt, const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeStrcpy';",
  134. " unsigned4 unicodeStrlen(const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeStrlen';",
  135. " data keyUnicodeX(const unicode src, const varstring loc) : eclrtl,library='eclrtl',entrypoint='rtlKeyUnicodeX';",
  136. " data keyUnicodeStrengthX(const unicode src, const varstring loc, unsigned4 str) : eclrtl,library='eclrtl',entrypoint='rtlKeyUnicodeStrengthX';",
  137. " l2vn4(string target, unsigned integer4 src) : eclrtl,pure,library='eclrtl',entrypoint='rtl_l2vn4';",
  138. " l2vn8(string target, unsigned integer8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtl_l2vn8';",
  139. " pack(string target, const string src) : eclrtl,library='eclrtl',entrypoint='rtlPack';",
  140. " integer4 searchDataTable(unsigned4 num, unsigned4 elemlen, const string entries, const string search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlNewSearchDataTable';",
  141. " integer4 searchEStringTable(unsigned4 num, unsigned4 elemlen, const string entries, const string search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlNewSearchEStringTable';",
  142. " integer4 searchQStringTable(unsigned4 num, unsigned4 elemlen, const string entries, const string search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlNewSearchQStringTable';",
  143. " integer4 searchStringTable(unsigned4 num, unsigned4 elemlen, const string entries, const string search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlNewSearchStringTable';",
  144. " integer4 searchVStringTable(unsigned4 num, const varstring entries, const varstring search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlSearchTableVStringN';",
  145. " integer4 searchUnicodeTable(unsigned4 num, unsigned4 elemlen, const unicode entries, const unicode search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlNewSearchUnicodeTable';",
  146. " integer4 searchUtf8Table(unsigned4 num, unsigned4 elemlen, const utf8 entries, const utf8 search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlNewSearchUtf8Table';",
  147. " integer4 searchVUnicodeTable(unsigned4 num, const varunicode entries, const varunicode search) : eclrtl,pure,library='eclrtl',include='eclrtl.hpp',entrypoint='rtlNewSearchVUnicodeTable';",
  148. " integer4 searchTableInteger4(set of integer4 values, integer4 search) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlSearchTableInteger4',oldSetFormat;",
  149. " integer4 searchTableInteger8(set of integer8 values, integer8 search) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlSearchTableInteger8',oldSetFormat;",
  150. " integer4 searchTableUInteger4(set of unsigned4 values, unsigned4 search) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlSearchTableUInteger4',oldSetFormat;",
  151. " integer4 searchTableUInteger8(set of unsigned8 values, unsigned8 search) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlSearchTableUInteger8',oldSetFormat;",
  152. " unpack(string target, const string src) : eclrtl,library='eclrtl',entrypoint='rtlUnpack';",
  153. " ebcdic2ascii(string target, const ebcdic string src) : eclrtl,library='eclrtl',entrypoint='rtlEStrToStr';",
  154. " ascii2ebcdic(ebcdic string target, const string src) : eclrtl,library='eclrtl',entrypoint='rtlStrToEStr';",
  155. " unsigned4 trimStrLen(const string src): eclrtl,pure,library='eclrtl',entrypoint='rtlTrimStrLen';",
  156. " unsigned4 trimUnicodeStrLen(const unicode src): eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUnicodeStrLen';",
  157. " unsigned4 trimUtf8StrLen(const utf8 src): eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUtf8StrLen';",
  158. " unsigned4 trimVStrLen(const varstring src): eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVStrLen';",
  159. " unsigned4 trimVUnicodeStrLen(const varunicode src): eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVUnicodeStrLen';",
  160. " string trimRight(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimRight';",
  161. " unicode trimUnicodeRight(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUnicodeRight';",
  162. " utf8 trimUtf8Right(const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUtf8Right';",
  163. " string trimVRight(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVRight';",
  164. " unicode trimVUnicodeRight(const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVUnicodeRight';",
  165. " string trimLeft(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimLeft';",
  166. " unicode trimUnicodeLeft(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUnicodeLeft';",
  167. " unicode trimUtf8Left(const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUtf8Left';",
  168. " string trimVLeft(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVLeft';",
  169. " unicode trimVUnicodeLeft(const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVUnicodeLeft';",
  170. " string trimBoth(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimBoth';",
  171. " unicode trimUnicodeBoth(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUnicodeBoth';",
  172. " utf8 trimUtf8Both(const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUtf8Both';",
  173. " string trimVBoth(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVBoth';",
  174. " unicode trimVUnicodeBoth(const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVUnicodeBoth';",
  175. " string trimAll(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimAll';",
  176. " unicode trimUnicodeAll(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUnicodeAll';",
  177. " utf8 trimUtf8All(const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimUtf8All';",
  178. " string trimVAll(const varstring src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVAll';",
  179. " unicode trimVUnicodeAll(const varunicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlTrimVUnicodeAll';",
  180. " data subDataFTX(const data src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubDataFTX';",
  181. " data subDataFX(const data src, unsigned4 from) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubDataFX';",
  182. " subDataFT(data tgt, const data src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubDataFT';",
  183. " string subStrFTX(const string src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubStrFTX';",
  184. " string subStrFX(const string src, unsigned4 from) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubStrFX';",
  185. " subStrFT(string tgt, const string src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubStrFT';",
  186. " qstring subQStrFTX(const qstring src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubQStrFTX';",
  187. " qstring subQStrFX(const qstring src, unsigned4 from) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubQStrFX';",
  188. " subQStrFT(qstring tgt, const qstring src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlSubQStrFT';",
  189. " unicode unicodeSubStrFTX(const unicode src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeSubStrFTX';",
  190. " unicode unicodeSubStrFX(const unicode src, unsigned4 from) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeSubStrFX';",
  191. " unsigned4 rtlMax(unsigned4 idx, unsigned4 len) : eclrtl,pure,entrypoint='rtlMax',include;",
  192. " unsigned4 rtlMin(unsigned4 idx, unsigned4 len) : eclrtl,pure,entrypoint='rtlMin',include;",
  193. " integer4 compareStrStr(const string l, const string r) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareStrStr';",
  194. " integer4 compareVStrVStr(const varstring l, const varstring r) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareVStrVStr';",
  195. " integer4 compareStrBlank(const string l) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareStrBlank';",
  196. " integer4 compareDataData(const data l, const data r) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareDataData';",
  197. " integer4 compareEStrEStr(const string l, const string r) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareEStrEStr';",
  198. " integer4 compareQStrQStr(const data l, const data r) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareQStrQStr';",
  199. " integer4 compareUnicodeUnicode(const unicode l, const unicode r, const varstring loc) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareUnicodeUnicode';",
  200. " integer4 compareUnicodeUnicodeStrength(const unicode l, const unicode r, const varstring loc, unsigned4 str) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareUnicodeUnicodeStrength';",
  201. " integer4 compareVUnicodeVUnicode(const varunicode l, const varunicode r, const varstring loc) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareVUnicodeVUnicode';",
  202. " integer4 compareVUnicodeVUnicodeStrength(const varunicode l, const varunicode r, const varstring loc, unsigned4 str) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareVUnicodeVUnicodeStrength';",
  203. " integer4 prefixDiffStr(const string l, const string r, unsigned4 origin) : eclrtl,pure,library='eclrtl',entrypoint='rtlPrefixDiffStrEx';",
  204. " integer4 prefixDiffUnicode(const unicode l, const unicode r, const varstring loc, unsigned4 origin) : eclrtl,pure,library='eclrtl',entrypoint='rtlPrefixDiffUnicodeEx';",
  205. " createOrder(data1 tgt, const data1 src, unsigned4 num, unsigned4 width, const data1 compare) : eclrtl,library='eclrtl',entrypoint='rtlCreateOrder';",
  206. " unsigned4 rankFromOrder(unsigned4 idx, unsigned4 num, const data1 order) : eclrtl,pure,library='eclrtl',entrypoint='rtlRankFromOrder';",
  207. " unsigned4 rankedFromOrder(unsigned4 idx, unsigned4 num, const data1 order) : eclrtl,pure,library='eclrtl',entrypoint='rtlRankedFromOrder';",
  208. " boolean data2Bool(const data src) : eclrtl,pure,library='eclrtl',entrypoint='rtlDataToBool';",
  209. " bool2Data(data tgt, boolean src) : eclrtl,library='eclrtl',entrypoint='rtlBoolToData';",
  210. " bool2Str(data tgt, boolean src) : eclrtl,library='eclrtl',entrypoint='rtlBoolToStr';",
  211. " bool2VStr(varstring tgt, boolean src) : eclrtl,library='eclrtl',entrypoint='rtlBoolToVStr';",
  212. " str2Data(data tgt, const data src) : eclrtl,library='eclrtl',entrypoint='rtlStrToData';",
  213. " str2Str(data tgt, const data src) : eclrtl,library='eclrtl',entrypoint='rtlStrToStr';",
  214. " eStr2EStr(data tgt, const data src) : eclrtl,library='eclrtl',entrypoint='rtlEStrToEStr';",
  215. " eStr2VStr(data tgt, const ebcdic string src) : eclrtl,library='eclrtl',entrypoint='rtlEStrToVStr';",
  216. " str2VStr(data tgt, const data src) : eclrtl,library='eclrtl',entrypoint='rtlStrToVStr';",
  217. " vStr2Data(data tgt, const varstring src) : eclrtl,library='eclrtl',entrypoint='rtlVStrToData';",
  218. " vStr2Str(data tgt, const varstring src) : eclrtl,library='eclrtl',entrypoint='rtlVStrToStr';",
  219. " vStr2VStr(data tgt, const varstring src) : eclrtl,library='eclrtl',entrypoint='rtlVStrToVStr';",
  220. " boolean csvStr2Bool(const string src) : eclrtl,pure,library='eclrtl',entrypoint='rtlCsvStrToBool';",
  221. " string bool2StrX(boolean src) : eclrtl,library='eclrtl',entrypoint='rtlBoolToStrX';",
  222. " varstring bool2VStrX(boolean src) : eclrtl,library='eclrtl',entrypoint='rtlBoolToVStrX';",
  223. " integer4 readInt3(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadInt3';",
  224. " integer8 readInt5(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadInt5';",
  225. " integer8 readInt6(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadInt6';",
  226. " integer8 readInt7(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadInt7';",
  227. " unsigned4 readUInt3(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadUInt3';",
  228. " unsigned8 readUInt5(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadUInt5';",
  229. " unsigned8 readUInt6(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadUInt6';",
  230. " unsigned8 readUInt7(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadUInt7';",
  231. " writeInt3(data1 src, unsigned4 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteInt3';",
  232. " writeInt5(data1 src, unsigned8 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteInt5';",
  233. " writeInt6(data1 src, unsigned8 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteInt6';",
  234. " writeInt7(data1 src, unsigned8 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteInt7';",
  235. " integer8 getPackedSigned(const data1 src) : eclrtl,library='eclrtl',entrypoint='rtlGetPackedSigned';",
  236. " unsigned8 getPackedUnsigned(const data1 src) : eclrtl,library='eclrtl',entrypoint='rtlGetPackedUnsigned';",
  237. " setPackedSigned(data1 src, integer8 value) : eclrtl,library='eclrtl',entrypoint='rtlSetPackedSigned';",
  238. " setPackedUnsigned(data1 src, unsigned8 value) : eclrtl,library='eclrtl',entrypoint='rtlSetPackedUnsigned';",
  239. " unsigned4 getPackedSize(const data1 src) : eclrtl,library='eclrtl',entrypoint='rtlGetPackedSize';",
  240. #if 0 // Not yet needed....
  241. " integer4 readSwapInt3(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapInt3';",
  242. " integer8 readSwapInt5(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapInt5';",
  243. " integer8 readSwapInt6(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapInt6';",
  244. " integer8 readSwapInt7(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapInt7';",
  245. " unsigned4 readSwapUInt3(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapUInt3';",
  246. " unsigned8 readSwapUInt5(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapUInt5';",
  247. " unsigned8 readSwapUInt6(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapUInt6';",
  248. " unsigned8 readSwapUInt7(const data1 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlReadSwapUInt7';",
  249. " writeSwapInt3(data1 src, unsigned4 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteSwapInt3';",
  250. " writeSwapInt5(data1 src, unsigned8 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteSwapInt5';",
  251. " writeSwapInt6(data1 src, unsigned8 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteSwapInt6';",
  252. " writeSwapInt7(data1 src, unsigned8 value) : eclrtl,library='eclrtl',entrypoint='rtlWriteSwapInt7';",
  253. #endif
  254. " integer2 revInt2(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevInt2';",
  255. " integer4 revInt3(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevInt3';",
  256. " integer4 revInt4(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevInt4';",
  257. " integer8 revInt5(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevInt5';",
  258. " integer8 revInt6(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevInt6';",
  259. " integer8 revInt7(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevInt7';",
  260. " integer8 revInt8(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevInt8';",
  261. " unsigned2 revUInt2(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevUInt2';",
  262. " unsigned4 revUInt3(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevUInt3';",
  263. " unsigned4 revUInt4(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevUInt4';",
  264. " unsigned8 revUInt5(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevUInt5';",
  265. " unsigned8 revUInt6(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevUInt6';",
  266. " unsigned8 revUInt7(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevUInt7';",
  267. " unsigned8 revUInt8(const data1 src) : eclrtl,pure,library='eclrtl',include,entrypoint='rtlRevUInt8';",
  268. " integer4 castInt3(integer4 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastInt3';",
  269. " integer8 castInt5(integer8 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastInt5';",
  270. " integer8 castInt6(integer8 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastInt6';",
  271. " integer8 castInt7(integer8 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastInt7';",
  272. " unsigned4 castUInt3(unsigned4 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastUInt3';",
  273. " unsigned8 castUInt5(unsigned8 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastUInt5';",
  274. " unsigned8 castUInt6(unsigned8 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastUInt6';",
  275. " unsigned8 castUInt7(unsigned8 value) : eclrtl,pure,library='eclrtl',include,entrypoint='rtliCastUInt7';",
  276. " DecAbs() : eclrtl,library='eclrtl',entrypoint='DecAbs';",
  277. " DecAdd() : eclrtl,library='eclrtl',entrypoint='DecAdd';",
  278. " integer4 DecCompareDecimal(const data v1, const data1 v2) : eclrtl,pure,library='eclrtl',entrypoint='DecCompareDecimal';",
  279. " integer4 DecCompareUDecimal(const data v1, const data1 v2) : eclrtl,pure,library='eclrtl',entrypoint='DecCompareUDecimal';",
  280. " integer4 DecCompareNull() : eclrtl,library='eclrtl',entrypoint='DecCompareNull';",
  281. " integer4 DecDistinct() : eclrtl,library='eclrtl',entrypoint='DecDistinct';",
  282. " integer4 DecDistinctR() : eclrtl,library='eclrtl',entrypoint='DecDistinctR';",
  283. " DecDivide(unsigned1 dbz) : eclrtl,library='eclrtl',entrypoint='DecDivide';",
  284. " DecModulus(unsigned1 dbz) : eclrtl,library='eclrtl',entrypoint='DecModulus';",
  285. " DecSub() : eclrtl,library='eclrtl',entrypoint='DecSub';",
  286. " DecSubR() : eclrtl,library='eclrtl',entrypoint='DecSubR';",
  287. " DecNegate() : eclrtl,library='eclrtl',entrypoint='DecNegate';",
  288. " unsigned4 DecPopString(string tgt) : eclrtl,library='eclrtl',entrypoint='DecPopString';",
  289. " DecPopVString(string tgt) : eclrtl,library='eclrtl',entrypoint='DecPopCString';",
  290. " varstring DecPopVStringX() : eclrtl,library='eclrtl',entrypoint='DecPopCStringX';",
  291. " integer8 DecPopInt64() : eclrtl,library='eclrtl',entrypoint='DecPopInt64';",
  292. " DecPopDecimal(data1 tgt,unsigned1 len,unsigned1 prec) : eclrtl,library='eclrtl',entrypoint='DecPopDecimal';",
  293. " DecPopUDecimal(data1 tgt,unsigned1 len,unsigned1 prec) : eclrtl,library='eclrtl',entrypoint='DecPopUDecimal';",
  294. " unsigned4 DecPopUlong() : eclrtl,library='eclrtl',entrypoint='DecPopUlong';",
  295. " real8 DecPopReal() : eclrtl,library='eclrtl',entrypoint='DecPopReal';",
  296. " DecPushString(const string tgt) : eclrtl,library='eclrtl',entrypoint='DecPushString';",
  297. " DecPushCString(const varstring src) : eclrtl,library='eclrtl',entrypoint='DecPushCString';",
  298. " DecPushInt64(integer8 src) : eclrtl,library='eclrtl',entrypoint='DecPushInt64';",
  299. " DecPushLong(integer4 src) : eclrtl,library='eclrtl',entrypoint='DecPushLong';",
  300. " DecPushDecimal(const data1 src, unsigned1 declen, unsigned1 prec) : eclrtl,library='eclrtl',entrypoint='DecPushDecimal';",
  301. " DecPushUDecimal(const data1 src, unsigned1 declen, unsigned1 prec) : eclrtl,library='eclrtl',entrypoint='DecPushUDecimal';",
  302. " DecPushUInt64(unsigned8 src) : eclrtl,library='eclrtl',entrypoint='DecPushUInt64';",
  303. " DecPushULong(unsigned4 src) : eclrtl,library='eclrtl',entrypoint='DecPushULong';",
  304. " DecRound() : eclrtl,library='eclrtl',entrypoint='DecRound';",
  305. " DecRoundUp() : eclrtl,library='eclrtl',entrypoint='DecRoundUp';",
  306. " DecRoundTo(unsigned4 places) : eclrtl,library='eclrtl',entrypoint='DecRoundTo';",
  307. " DecDup() : eclrtl,library='eclrtl',entrypoint='DecDup';",
  308. " DecMul() : eclrtl,library='eclrtl',entrypoint='DecMul';",
  309. " DecDivideR(unsigned1 dbz) : eclrtl,library='eclrtl',entrypoint='DecDivideR';",
  310. " DecLongPower(integer4 pow) : eclrtl,library='eclrtl',entrypoint='DecLongPower';",
  311. " DecPushReal(real8 d) : eclrtl,library='eclrtl',entrypoint='DecPushReal';",
  312. " DecPushUtf8(utf8 d) : eclrtl,library='eclrtl',entrypoint='rtlDecPushUtf8';",
  313. " DecTruncate() : eclrtl,library='eclrtl',entrypoint='DecTruncate';",
  314. " DecTruncateAt(unsigned4 places) : eclrtl,library='eclrtl',entrypoint='DecTruncateAt';",
  315. " DecSetPrecision(unsigned1 len, unsigned1 prec) : eclrtl,library='eclrtl',entrypoint='DecSetPrecision';",
  316. " integer4 DecPopLong() : eclrtl,library='eclrtl',entrypoint='DecPopLong';",
  317. " DecSwap() : eclrtl,library='eclrtl',entrypoint='DecSwap';",
  318. " DecUint4Power(unsigned4 pow) : eclrtl,library='eclrtl',entrypoint='DecUint4Power';",
  319. " string DecPopStringX() : eclrtl,library='eclrtl',entrypoint='DecPopStringX';",
  320. " DecLock() : eclrtl,library='eclrtl',entrypoint='DecLock';",
  321. " DecUnlock() : eclrtl,library='eclrtl',entrypoint='DecUnlock';",
  322. " boolean DecValid(boolean isSigned, const data src) : eclrtl,pure,library='eclrtl',entrypoint='DecValid';",
  323. " boolean DecValidTos() : eclrtl,pure,library='eclrtl',entrypoint='DecValidTos';",
  324. " integer8 _ROUND(real8 arg) : eclrtl,pure,library='eclrtl',entrypoint='rtlRound';",
  325. " real8 roundTo(real8 arg, integer4 _places) : eclrtl,pure,library='eclrtl',entrypoint='rtlRoundTo';",
  326. " integer8 _ROUNDUP(real8 arg) : eclrtl,pure,library='eclrtl',entrypoint='rtlRoundUp';",
  327. " integer8 _TRUNCATE(real8 arg) : eclrtl,pure,library='eclrtl',entrypoint='rtlRoundDown';",
  328. " unsigned4 rtlRandom() : eclrtl,library='eclrtl',entrypoint='rtlRandom';",
  329. " _fail(integer4 code, const varstring msg) : eclrtl,library='eclrtl',entrypoint='rtlFail';",
  330. " sysFail(integer4 code, const varstring msg) : eclrtl,library='eclrtl',entrypoint='rtlSysFail';",
  331. " failDivideByZero() : eclrtl,library='eclrtl',entrypoint='rtlFailDivideByZero';",
  332. " unsigned4 crcData(const data src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlCrcData';",
  333. " unsigned4 crcUnicode(const unicode src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlCrcUnicode';",
  334. " unsigned4 crcVStr(const varstring src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlCrcVStr';",
  335. " unsigned4 crcVUnicode(const varunicode src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlCrcVUnicode';",
  336. " unsigned4 crcUtf8(const utf8 src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlCrcUtf8';",
  337. " unsigned4 hashData(const data src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHashData';",
  338. " unsigned4 hashUnicode(const unicode src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHashUnicode';",
  339. " unsigned4 hashVStr(const varstring src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHashVStr';",
  340. " unsigned4 hashVUnicode(const varunicode src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHashVUnicode';",
  341. " unsigned4 hashDataNC(const data src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHashDataNC';",
  342. " unsigned4 hashVStrNC(const varstring src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHashVStrNC';",
  343. " unsigned4 hashUtf8(const utf8 src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHashUtf8';",
  344. " unsigned4 hash32Data(const data src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash32Data';",
  345. " unsigned4 hash32Unicode(const unicode src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash32Unicode';",
  346. " unsigned4 hash32VStr(const varstring src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash32VStr';",
  347. " unsigned4 hash32VUnicode(const varunicode src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash32VUnicode';",
  348. " unsigned4 hash32Utf8(const utf8 src, unsigned4 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash32Utf8';",
  349. " unsigned4 hash32Data1(const data1 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data1';",
  350. " unsigned4 hash32Data2(const data2 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data2';",
  351. " unsigned4 hash32Data3(const data3 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data3';",
  352. " unsigned4 hash32Data4(const data4 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data4';",
  353. " unsigned4 hash32Data5(const data4 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data5';",
  354. " unsigned4 hash32Data6(const data4 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data6';",
  355. " unsigned4 hash32Data7(const data4 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data7';",
  356. " unsigned4 hash32Data8(const data8 src, unsigned4 initval) : eclrtl,pure,include,entrypoint='rtlHash32Data8';",
  357. " unsigned8 hash64Data(const data src, unsigned8 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash64Data';",
  358. " unsigned8 hash64Unicode(const unicode src, unsigned8 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash64Unicode';",
  359. " unsigned8 hash64VStr(const varstring src, unsigned8 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash64VStr';",
  360. " unsigned8 hash64VUnicode(const varunicode src, unsigned8 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash64VUnicode';",
  361. " unsigned8 hash64Utf8(const utf8 src, unsigned8 initval) : eclrtl,pure,library='eclrtl',entrypoint='rtlHash64Utf8';",
  362. " hashMd5Init(data _state) : eclrtl,entrypoint='rtlHashMd5Init';",
  363. " hashMd5Data(const data _value, data _state) : eclrtl,entrypoint='rtlHashMd5Data';",
  364. " data16 hashMd5Finish(data _state) : eclrtl,entrypoint='rtlHashMd5Finish';",
  365. " boolean validReal(const data src) : eclrtl,pure,library='eclrtl',entrypoint='rtlIsValidReal';",
  366. " real8 createRealNull() : eclrtl,pure,library='eclrtl',entrypoint='rtlCreateRealNull';",
  367. " deserializeRaw(data field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeRaw';",
  368. " data deserializeDataX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeDataX';",
  369. " dataset deserializeDatasetX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeDataX';",
  370. " _linkcounted_ dictionary deserializeDictionaryX(boolean _deserializer, boolean _input) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeDictionaryX';",
  371. " grouped dataset deserializeGroupedDatasetX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeDataX';",
  372. " _linkcounted_ dataset deserializeRowsetX(boolean _deserializer, boolean _input) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeRowsetX';",
  373. " _linkcounted_ grouped dataset deserializeGroupedRowsetX(boolean _deserializer, boolean _input) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeGroupedRowsetX';",
  374. " varstring deserializeCStringX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeCStringX';",
  375. " string deserializeStringX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeStringX';",
  376. " qstring deserializeQStrX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeQStrX';",
  377. " unicode deserializeUnicodeX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeUnicodeX';",
  378. " utf8 deserializeUtf8X(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeUtf8X';",
  379. " varunicode deserializeVUnicodeX(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeVUnicodeX';",
  380. " _linkcounted_ row(dummyRecord) deserializeRow(boolean _deserializer, boolean _in) : eclrtl,include,entrypoint='rtlDeserializeBufferRow';",
  381. " _linkcounted_ row(dummyRecord) createRowFromXml(utf8 _text, boolean xmltransformer, boolean _stripWhitespace) : ctxmethod,pure,entrypoint='fromXml';",
  382. " _linkcounted_ dataset appendRowsToRowset(_array_ dataset _in) : pure,eclrtl,include,entrypoint='appendRowsToRowset';",
  383. " set of any deserializeSet(boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='deserializeSet',newSet;",
  384. " set of any set2SetX(set of any i) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlSetToSetX',newSet;",
  385. " set of any appendSetX(set of any l, set of any r) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlAppendSetX',newSet;",
  386. " dataset dataset2DatasetX(const dataset src) : eclrtl,include,pure,library='eclrtl',entrypoint='rtlStrToDataX';",
  387. " serializeRaw(const data field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeRaw';",
  388. " serializeDataX(const data value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeDataX';",
  389. " serializeDatasetX(dataset value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeDataX';",
  390. " serializeDictionaryX(linkcounted dictionary value, boolean _ser, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeDictionaryX';",
  391. " serializeGroupedDatasetX(grouped dataset value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeDataX';",
  392. " serializeRowsetX(_array_ dataset value, boolean _ser, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeRowsetX';",
  393. " serializeGroupedRowsetX(_array_ grouped dataset value, boolean _ser, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeGroupedRowsetX';",
  394. " serializeCStringX(const varstring value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeCStringX';",
  395. " serializeStringX(const string value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeStringX';",
  396. " serializeQStrX(const qstring value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeQStrX';",
  397. " serializeUnicodeX(const unicode value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUnicodeX';",
  398. " serializeUtf8X(const utf8 value, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUtf8X';",
  399. " serializeRow(const row value, boolean _deserializer, boolean _input) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeRow';",
  400. " dataset rowset2DatasetX(boolean _ser, _array_ dataset x) : eclrtl,include,library='eclrtl',entrypoint='rtlRowset2DatasetX';",
  401. " grouped dataset groupedRowset2DatasetX(boolean _ser, _array_ grouped dataset x) : eclrtl,include,library='eclrtl',entrypoint='rtlGroupedRowset2DatasetX';",
  402. " _linkcounted_ dataset dataset2RowsetX(boolean _des, dataset x) : eclrtl,include,library='eclrtl',entrypoint='rtlDataset2RowsetX';",
  403. " _linkcounted_ grouped dataset groupedDataset2RowsetX(boolean _des, grouped dataset x) : eclrtl,include,library='eclrtl',entrypoint='rtlGroupedDataset2RowsetX';",
  404. " outputXmlBool(boolean value, const varstring name) : eclrtl,omethod,entrypoint='outputBool';",
  405. " outputXmlData(const data value, const varstring nameo) : eclrtl,omethod,entrypoint='outputData';",
  406. " outputXmlDecimal(const data1 value, unsigned4 size, unsigned4 precision, const varstring name) : eclrtl,omethod,entrypoint='outputDecimal';",
  407. " outputXmlInt(integer8 value, const varstring name) : eclrtl,omethod,entrypoint='outputInt';",
  408. " outputXmlQString(const qstring value, const varstring name) : eclrtl,omethod,entrypoint='outputQString';",
  409. " outputXmlReal(real value, const varstring name) : eclrtl,omethod,entrypoint='outputReal';",
  410. " outputXmlString(const string value, const varstring name) : eclrtl,omethod,entrypoint='outputString';",
  411. " outputXmlUInt(unsigned8 value, const varstring name) : eclrtl,omethod,entrypoint='outputUInt';",
  412. " outputXmlUnicode(const unicode value, const varstring name) : eclrtl,omethod,entrypoint='outputUnicode';",
  413. " outputXmlUtf8(const utf8 value, const varstring name) : eclrtl,omethod,entrypoint='outputUtf8';",
  414. " outputXmlBeginArray(const varstring name) : eclrtl,omethod,entrypoint='outputBeginArray';",
  415. " outputXmlEndArray(const varstring name) : eclrtl,omethod,entrypoint='outputEndArray';",
  416. " outputXmlBeginNested(const varstring name, boolean nestChildren) : eclrtl,omethod,entrypoint='outputBeginNested';",
  417. " outputXmlEndNested(const varstring name) : eclrtl,omethod,entrypoint='outputEndNested';",
  418. " outputXmlSetAll() : eclrtl,omethod,entrypoint='outputSetAll';",
  419. " processFieldBool(boolean value, boolean _field) : eclrtl,omethod,entrypoint='processBool';",
  420. " processFieldData(const data value, boolean _fieldo) : eclrtl,omethod,entrypoint='processData';",
  421. " processFieldDecimal(const data1 value, unsigned4 size, unsigned4 precision, boolean _field) : eclrtl,omethod,entrypoint='processDecimal';",
  422. " processFieldInt(integer8 value, boolean _field) : eclrtl,omethod,entrypoint='processInt';",
  423. " processFieldQString(const qstring value, boolean _field) : eclrtl,omethod,entrypoint='processQString';",
  424. " processFieldReal(real value, boolean _field) : eclrtl,omethod,entrypoint='processReal';",
  425. " processFieldString(const string value, boolean _field) : eclrtl,omethod,entrypoint='processString';",
  426. " processFieldUInt(unsigned8 value, boolean _field) : eclrtl,omethod,entrypoint='processUInt';",
  427. " processFieldUnicode(const unicode value, boolean _field) : eclrtl,omethod,entrypoint='processUnicode';",
  428. " processFieldUtf8(const utf8 value, boolean _field) : eclrtl,omethod,entrypoint='processUtf8';",
  429. " processFieldSetAll(boolean _field) : eclrtl,omethod,entrypoint='processSetAll';",
  430. " boolean processFieldBeginSet(boolean _field) : eclrtl,omethod,entrypoint='processBeginSet';",
  431. " boolean processFieldBeginDataset(boolean _field) : eclrtl,omethod,entrypoint='processBeginDataset';",
  432. " boolean processFieldBeginRow(boolean _field) : eclrtl,omethod,entrypoint='processBeginRow';",
  433. " processFieldEndSet(boolean _field) : eclrtl,omethod,entrypoint='processEndSet';",
  434. " processFieldEndDataset(boolean _field) : eclrtl,omethod,entrypoint='processEndDataset';",
  435. " processFieldEndRow(boolean _field) : eclrtl,omethod,entrypoint='processEndRow';",
  436. " string xmlDecodeStr(const string src) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='xmlDecodeStrX';",
  437. " unicode xmlDecodeUStr(const unicode src) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='xmlDecodeUStrX';",
  438. " string xmlEncodeStr(const string src, unsigned4 flags) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='xmlEncodeStrX';",
  439. " unicode xmlEncodeUStr(const unicode src, unsigned4 flags) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='xmlEncodeUStrX';",
  440. " serializeFixedString(const string field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeFixedString';",
  441. " serializeQString(const qstring field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeFixedString';",
  442. " serializeLPQString(const qstring field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeLPString';",
  443. " serializeLPString(const string field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeLPString';",
  444. " serializeVarString(const varstring field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeVarString';",
  445. " serializeBool(boolean field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeBool';",
  446. " serializeFixedData(const data field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeFixedData';",
  447. " serializeLPData(const data field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeLPData';",
  448. " serializeInt1(integer1 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt1';",
  449. " serializeInt2(integer2 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt2';",
  450. " serializeInt3(integer4 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt3';",
  451. " serializeInt4(integer4 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt4';",
  452. " serializeInt5(integer8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt5';",
  453. " serializeInt6(integer8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt6';",
  454. " serializeInt7(integer8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt7';",
  455. " serializeInt8(integer8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeInt8';",
  456. " serializeUInt1(unsigned1 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt1';",
  457. " serializeUInt2(unsigned2 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt2';",
  458. " serializeUInt3(unsigned4 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt3';",
  459. " serializeUInt4(unsigned4 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt4';",
  460. " serializeUInt5(unsigned8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt5';",
  461. " serializeUInt6(unsigned8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt6';",
  462. " serializeUInt7(unsigned8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt7';",
  463. " serializeUInt8(unsigned8 field, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeUInt8';",
  464. " serializeReal4(real4 arg, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeReal4';",
  465. " serializeReal8(real8 arg, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeReal8';",
  466. " serializeSet(const set of any arg, boolean o) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='serializeSet',newset;",
  467. " string createRangeLow(unsigned4 fieldLen, unsigned4 compareLen, const string src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateRangeLow';",
  468. " string createRangeHigh(unsigned4 fieldLen, unsigned4 compareLen, const string src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateRangeHigh';",
  469. " string createStrRangeLow(unsigned4 fieldLen, unsigned4 compareLen, const string src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateStrRangeLow';",
  470. " string createStrRangeHigh(unsigned4 fieldLen, unsigned4 compareLen, const string src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateStrRangeHigh';",
  471. " data createDataRangeLow(unsigned4 fieldLen, unsigned4 compareLen, const data src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateDataRangeLow';",
  472. " data createDataRangeHigh(unsigned4 fieldLen, unsigned4 compareLen, const data src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateDataRangeHigh';",
  473. " qstring createQStrRangeLow(unsigned4 fieldLen, unsigned4 compareLen, const qstring src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateQStrRangeLow';",
  474. " qstring createQStrRangeHigh(unsigned4 fieldLen, unsigned4 compareLen, const qstring src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateQStrRangeHigh';",
  475. " unicode createUnicodeRangeLow(unsigned4 fieldLen, unsigned4 compareLen, const unicode src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateUnicodeRangeLow';",
  476. " unicode createUnicodeRangeHigh(unsigned4 fieldLen, unsigned4 compareLen, const unicode src): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateUnicodeRangeHigh';",
  477. " unsigned8 createRegex(const varstring regExpr, boolean isCaseSensitive) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateRegExpr';",
  478. " destroyRegex(unsigned8 compiled) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlDestroyRegExpr';",
  479. " boolean regexFindX(unsigned8 compiled, const string text) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlRegExprFind';",
  480. " string regexReplaceX(unsigned8 compiled, const string text, const string replace): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlRegExprReplace';",
  481. " string regexGetFindStr(unsigned8 compiled, unsigned4 idx): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlRegExprGetFindStr';",
  482. " unsigned8 createWRegex(const varunicode regExpr, boolean isCaseSensitive) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCreateWRegExpr';",
  483. " destroyWRegex(unsigned8 compiled) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlDestroyWRegExpr';",
  484. " boolean wregexFindX(unsigned8 compiled, const unicode text) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlWRegExprFind';",
  485. " unicode wregexReplaceX(unsigned8 compiled, const unicode text, const unicode replace) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlWRegExprReplace';",
  486. " unicode wregexGetFindStr(unsigned8 compiled, unsigned4 idx): eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlWRegExprGetFindStr';",
  487. " regexNewSetStrPattern(const varstring _pattern, boolean isCaseSensitive) : omethod,entrypoint='setPattern';"
  488. " regexNewStrFind(boolean _compiled, const string _search, boolean _cloneSearch) : omethod,entrypoint='find';"
  489. " boolean regexNewStrFound() : method,pure,entrypoint='found';"
  490. " string regexNewStrFoundX(unsigned4 idx) : method,pure,entrypoint='getMatchX';"
  491. " string regexNewStrReplaceX(const string _search, const string _replace) : method,pure,entrypoint='replace';"
  492. " regexNewSetUStrPattern(const varunicode _pattern, boolean isCaseSensitive) : omethod,entrypoint='setPattern';"
  493. " regexNewUStrFind(boolean _compiled, const unicode _search) : omethod,entrypoint='find';"
  494. " boolean regexNewUStrFound() : method,pure,entrypoint='found';"
  495. " unicode regexNewUStrFoundX(unsigned4 idx) : method,pure,entrypoint='getMatchX';"
  496. " unicode regexNewUStrReplaceX(const unicode _search, const unicode _replace) : method,pure,entrypoint='replace';"
  497. //clibrary functions that are called from the code generation
  498. " free(data1 src) : eclrtl,library='eclrtl',entrypoint='rtlFree';",
  499. " integer4 memcmp(const data1 target, const data1 src, unsigned4 len) : sys,pure,entrypoint='memcmp';",
  500. " data1 memcpy(data1 target, const data1 src, unsigned4 len): sys,entrypoint='memcpy';",
  501. " data1 memset(data1 target, integer4 fill, unsigned4 len) : sys,entrypoint='memset';",
  502. " strcpy(const varstring1 target, const varstring1 src) : sys,entrypoint='strcpy';",
  503. " unsigned4 strlen(const varstring1 src) : sys,pure,entrypoint='strlen';",
  504. " real8 clibExp(real8 arg) : sys,pure,entrypoint='exp';",
  505. " real8 _LN(real8 arg) : eclrtl,pure,library='eclrtl',entrypoint='rtlLog';",
  506. " real8 _SIN(real8 arg) : sys,pure,entrypoint='sin';",
  507. " real8 _COS(real8 arg) : sys,pure,entrypoint='cos';",
  508. " real8 _TAN(real8 arg) : sys,pure,entrypoint='tan';",
  509. " real8 _SINH(real8 arg) : sys,pure,entrypoint='sinh';",
  510. " real8 _COSH(real8 arg) : sys,pure,entrypoint='cosh';",
  511. " real8 _TANH(real8 arg) : sys,pure,entrypoint='tanh';",
  512. " real8 _ASIN(real8 arg) : eclrtl,pure,library='eclrtl',entrypoint='rtlASin';",
  513. " real8 _ACOS(real8 arg) : eclrtl,pure,library='eclrtl',entrypoint='rtlACos';",
  514. " real8 _ATAN(real8 arg) : sys,pure,entrypoint='atan';",
  515. " real8 _ATAN2(real8 y, real8 x) : sys,pure,entrypoint='atan2';",
  516. " real8 _LOG10(real8 arg) : eclrtl,pure,library='eclrtl',entrypoint='rtlLog10';",
  517. " real8 _POWER(real8 x, real8 y) : sys,pure,entrypoint='pow';",
  518. " real8 _SQRT(real8 x) : eclrtl,pure,library='eclrtl',entrypoint='rtlSqrt';",
  519. " writeEbcdic(const ebcdic string src) : method,include='eclhelper.hpp',entrypoint='writeString';",
  520. " writeReal(real8 src) : method,include='eclhelper.hpp',entrypoint='writeReal';",
  521. " writeSigned(integer8 src) : method,include='eclhelper.hpp',entrypoint='writeSigned';",
  522. " writeString(const string src) : method,include='eclhelper.hpp',entrypoint='writeString';",
  523. " writeUnicode(const unicode src) : method,include='eclhelper.hpp',entrypoint='writeUnicode';",
  524. " writeUnsigned(unsigned8 src) : method,include='eclhelper.hpp',entrypoint='writeUnsigned';",
  525. " writeUtf8(const utf8 src) : method,include='eclhelper.hpp',entrypoint='writeUtf8';",
  526. " unsigned8 getFilePosition(boolean _row) : method,entrypoint='getFilePosition';",
  527. " unsigned8 getLocalFilePosition(boolean _row) : method,entrypoint='getLocalFilePosition';",
  528. " const varstring queryLogicalFilename(boolean _row) : method,entrypoint='queryLogicalFilename';",
  529. " unsigned8 createBlob(boolean _row, const data value) : method,entrypoint='createBlob';",
  530. " boolean lookupBlob(boolean _row, unsigned8 id) : method,entrypoint='lookupBlob';",
  531. //Members of the code context
  532. " varstring getWuid() : ctxmethod,pure,entrypoint='getWuid';",
  533. " executeGraph(const varstring graph, boolean realThor, unsigned4 lenExtract, row parentExtract) : ctxmethod,entrypoint='executeGraph';",
  534. " executeChildQueryInstance(unsigned4 lenExtract, row parentExtract) : method,entrypoint='execute';",
  535. " evaluateChildQueryInstance(unsigned4 lenExtract, row parentExtract) : method,entrypoint='evaluate';", // actually returns something el
  536. " _linkcounted_ dataset getChildQueryLinkedResult(unsigned4 id) : method,allocator(false),pure,entrypoint='getLinkedResult';",
  537. " _linkcounted_ dictionary getChildQueryDictionaryResult(unsigned4 id) : method,allocator(false),pure,entrypoint='getDictionaryResult';",
  538. //MORE: Should this be utf8?
  539. " varstring getenv(const varstring name, const varstring defaultValue) : pure,ctxmethod,entrypoint='getEnv';",
  540. " integer4 queryFailCode() : gctxmethod,entrypoint='queryLastFailCode';",
  541. " string getFailMessage(const varstring tag) : gctxmethod,entrypoint='getLastFailMessage';",
  542. " integer4 queryLocalFailCode(boolean e) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlQueryLocalFailCode';",
  543. " string getLocalFailMessage(boolean e, const varstring tag) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlGetLocalFailMessage';",
  544. " freeException(boolean e) : eclrtl,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlFreeException';",
  545. " string getEventName() : gctxmethod,entrypoint='getEventName';",
  546. " string getEventExtra(const varstring tag) : gctxmethod,entrypoint='getEventExtra';",
  547. " selectCluster(const varstring src) : gctxmethod,entrypoint='selectCluster';",
  548. " restoreCluster() : gctxmethod,entrypoint='restoreCluster';",
  549. " integer4 compareUtf8Utf8(const utf8 l, const utf8 r, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareUtf8Utf8';",
  550. " integer4 compareUtf8Utf8Strength(const utf8 l, const utf8 r, const varstring loc, unsigned4 str) : eclrtl,pure,library='eclrtl',entrypoint='rtlCompareUtf8Utf8Strength';",
  551. " utf8 utf8SubStrFTX(const utf8 src, unsigned4 from, unsigned4 to) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8SubStrFTX';",
  552. " utf8 utf8SubStrFX(const utf8 src, unsigned4 from) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8SubStrFX';",
  553. " utf82Codepage(string tgt, const utf8 src, const varstring codepage) : eclrtl,pure,include,library='eclrtl',entrypoint='rtlUtf8ToCodepage';",
  554. " utf82Data(data tgt, const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8ToData';",
  555. " utf82Unicode(unicode tgt, const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8ToUnicode';",
  556. " utf8ToUtf8(utf8 tgt, const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8ToUtf8';",
  557. " string utf82CodepageX(const utf8 src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8ToCodepageX';",
  558. " data utf82DataX(const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8ToDataX';",
  559. " unicode utf82UnicodeX(const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8ToUnicodeX';",
  560. " utf8 utf8ToUtf8X(const utf8 src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUtf8ToUtf8X';",
  561. " codepageToUtf8(utf8 tgt, const string src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlCodepageToUtf8';",
  562. " utf8 codepageToUtf8X(const string src, const varstring codepage) : eclrtl,pure,library='eclrtl',entrypoint='rtlCodepageToUtf8X';",
  563. " unicodeToUtf8(utf8 tgt, const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToUtf8';",
  564. " utf8 unicodeToUtf8X(const unicode src) : eclrtl,pure,library='eclrtl',entrypoint='rtlUnicodeToUtf8X';",
  565. " unsigned4 utf8Size(const data src) : eclrtl,include,pure,library='eclrtl',entrypoint='rtlUtf8Size';",
  566. " unsigned4 utf8Length(const data src) : eclrtl,include,pure,library='eclrtl',entrypoint='rtlUtf8Length';",
  567. //ecl functions (mainly placeholders for methods)
  568. " unsigned8 getDatasetHash(const varstring name, unsigned8 _hash) : ctxmethod,pure,entrypoint='getDatasetHash';",
  569. " unsigned4 getResultHash(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultHash';",
  570. " integer8 getResultInt(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultInt';",
  571. " real8 getResultReal(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultReal';",
  572. " boolean getResultBool(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultBool';",
  573. " data getResultData(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultData';",
  574. " getResultDecimal(unsigned4 len, unsigned4 precision, boolean isSigned, decimal3_1 value, const varstring stepname, unsigned4 sequence) : ctxmethod,entrypoint='getResultDecimal';",
  575. " dataset getResultDataset(const varstring stepname, unsigned4 sequence, boolean xmltransformer, boolean csvtransformer) : ctxmethod,pure,entrypoint='getResultRaw';", // an alias
  576. " qstring getResultQString(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultQString';",
  577. " string getResultString(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultString';",
  578. " getResultStringF(string target, const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultStringF';",
  579. " unicode getResultUnicode(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultUnicode';",
  580. " varstring getResultVarString(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultVarString';",
  581. " varunicode getResultVarUnicode(const varstring stepname, unsigned4 sequence) : ctxmethod,pure,entrypoint='getResultVarUnicode';",
  582. " set of any getResultSet(const varstring stepname, unsigned4 sequence, boolean xmltransformer, boolean csvtransformer) : ctxmethod,pure,entrypoint='getResultSet',newset;",
  583. " _linkcounted_ dataset getResultRowset(const varstring stepname, unsigned4 sequence, boolean _allocator, boolean isGrouped, boolean xmltransformer, boolean csvtransformer) : ctxmethod,allocator(false),pure,entrypoint='getResultRowset';",
  584. " linkcounted dictionary getResultDictionary(const varstring stepname, unsigned4 sequence, boolean xmltransformer, boolean csvtransformer, boolean hasher) : ctxmethod,pure,entrypoint='getResultDictionary';",
  585. " const varstring cloneVString(const varstring str) : ctxmethod,pure,entrypoint='cloneVString';",
  586. " const varstring cloneVStringX(const string str) : ctxmethod,pure,entrypoint='cloneVString';",
  587. //Don't make these pure because they may change over time.
  588. " boolean isResult(const varstring stepname, unsigned4 sequence) : gctxmethod,entrypoint='isResult';",
  589. " boolean fileExists(const varstring lfn) : gctxmethod,entrypoint='fileExists';",
  590. " varstring getExpandLogicalName(const varstring lfn) : ctxmethod,entrypoint='getExpandLogicalName';",
  591. " deleteFile(const varstring lfn) : gctxmethod,entrypoint='deleteFile';",
  592. " setResultInt(const varstring stepname, unsigned4 sequence, integer8 value) : ctxmethod,entrypoint='setResultInt';",
  593. " setResultUInt(const varstring stepname, unsigned4 sequence, unsigned8 value) : ctxmethod,entrypoint='setResultUInt';",
  594. " setResultReal(const varstring stepname, unsigned4 sequence, real8 value) : ctxmethod,entrypoint='setResultReal';",
  595. " setResultBool(const varstring stepname, unsigned4 sequence, boolean value) : ctxmethod,entrypoint='setResultBool';",
  596. " setResultData(const varstring stepname, unsigned4 sequence, const data value) : ctxmethod,entrypoint='setResultData';",
  597. " setResultDataset(const varstring stepname, unsigned4 sequence, const dataset value, unsigned4 numRows, boolean doExtend) : gctxmethod,entrypoint='setResultDataset';",
  598. " setResultDecimal(const varstring stepname, unsigned4 sequence, unsigned4 len, unsigned4 precision, boolean isSigned, const decimal3_1 value) : ctxmethod,entrypoint='setResultDecimal';",
  599. " setResultRaw(const varstring stepname, unsigned4 sequence, const data value) : ctxmethod,entrypoint='setResultRaw';",
  600. " setResultSet(const varstring stepname, unsigned4 sequence, const set of any value, boolean transformer) : ctxmethod,entrypoint='setResultSet',newset;",
  601. " setResultQString(const varstring stepname, unsigned4 sequence, const qstring value) : ctxmethod,entrypoint='setResultQString';",
  602. " setResultString(const varstring stepname, unsigned4 sequence, const string value) : ctxmethod,entrypoint='setResultString';",
  603. " setResultUnicode(const varstring stepname, unsigned4 sequence, const unicode value) : ctxmethod,entrypoint='setResultUnicode';",
  604. " setResultVarString(const varstring stepname, unsigned4 sequence, const varstring value) : ctxmethod,entrypoint='setResultVarString';",
  605. " setResultVarUnicode(const varstring stepname, unsigned4 sequence, const varunicode value) : ctxmethod,entrypoint='setResultVarUnicode';",
  606. " setConditionCode(integer4 stepname) : ctxmethod,entrypoint='setConditionCode';",
  607. " const varstring loadResource(unsigned4 id) : ctxmethod,entrypoint='loadResource';",
  608. " unsigned4 getWorkflowId() : gctxmethod,entrypoint='getWorkflowId';",
  609. " doNotify(const varstring name, const varstring text) : gctxmethod,entrypoint='doNotify';",
  610. " doNotifyTarget(const varstring name, const varstring text, const varstring _target) : gctxmethod,entrypoint='doNotify';",
  611. " setWorkflowCondition(boolean value) : gctxmethod,entrypoint='setWorkflowCondition';",
  612. " returnPersistVersion(const varstring name, unsigned4 eclCRC, unsigned8 allCRC, boolean isFile) : gctxmethod,entrypoint='returnPersistVersion';",
  613. " addWorkunitException(const varstring txt, unsigned code, unsigned severity) : ctxmethod,entrypoint='addWuException'; ",
  614. " addWorkunitAssertFailure(unsigned4 errNo, const varstring _msg, const varstring _filename, unsigned4 _lineno, unsigned4 _column, boolean _isAbort) : ctxmethod,entrypoint='addWuAssertFailure'; ",
  615. //
  616. " unsigned4 countRows(const data raw, boolean iRecordSize) : eclrtl,pure,include,entrypoint='rtlCountRows';",
  617. " unsigned4 countToSize(unsigned4 numRows, const data1 raw, boolean iRecordSize) : eclrtl,pure,include,entrypoint='rtlCountToSize';",
  618. " utf8 ctxGetRowXml(boolean _meta, const row _row, unsigned4 flags) : ctxmethod,entrypoint='getRowXML';",
  619. " boolean getMatched(unsigned4 idx) : method,pure,include,entrypoint='getMatched';",
  620. " unsigned4 getMatchLength(unsigned4 idx) : method,pure,include,entrypoint='getMatchLength';",
  621. " unsigned4 getMatchPosition(unsigned4 idx) : method,pure,include,entrypoint='getMatchPosition';",
  622. " string getMatchText(unsigned4 idx) : method,pure,include,entrypoint='getMatchText';",
  623. " unicode getMatchUnicode(unsigned4 idx) : method,pure,include,entrypoint='getMatchUnicode';",
  624. " utf8 getMatchUtf8(unsigned4 idx) : method,pure,include,entrypoint='getMatchUtf8';",
  625. " row(dummyRecord) getMatchRow(unsigned4 idx) : method,pure,include,entrypoint='queryMatchRow';",
  626. " row(dummyRecord) getRootResult() : method,pure,include,entrypoint='queryRootResult';",
  627. " string getProductionText(unsigned4 idx) : method,entrypoint='getText';",
  628. " unicode getProductionUnicode(unsigned4 idx) : method,entrypoint='getUnicode';",
  629. " utf8 getProductionUtf8(unsigned4 idx) : method,entrypoint='getUtf8';",
  630. " row(dummyRecord) getProductionResult(unsigned4 idx) : method,entrypoint='queryResult';",
  631. " addAll() : method,include='rtlkey.hpp',entrypoint='addAll';",
  632. " addRange(const data1 lo, const data1 hi) : method,include='rtlkey.hpp',entrypoint='addRange';",
  633. " killRange(const data1 lo, const data1 hi) : method,include='rtlkey.hpp',entrypoint='killRange';",
  634. " boolean columnGetBool(const varstring name) : method,pure,entrypoint='getBool';",
  635. " columnGetData(data result, const varstring name) : method,pure,entrypoint='getData';",
  636. " data columnGetDataX(const varstring name) : method,pure,entrypoint='getDataX';",
  637. " integer columnGetInt(const varstring name) : method,pure,entrypoint='getInt';",
  638. " boolean columnGetSetIsAll(const varstring name) : method,pure,entrypoint='getIsSetAll';",
  639. " columnGetQString(qstring result, const varstring name) : method,pure,entrypoint='getQString';",
  640. " columnGetString(string result, const varstring name) : method,pure,entrypoint='getString';",
  641. " string columnGetStringX(const varstring name) : method,pure,entrypoint='getStringX';",
  642. " unicode columnGetUnicodeX(const varstring name) : method,pure,entrypoint='getUnicodeX';",
  643. " utf8 columnGetUtf8X(const varstring name) : method,pure,entrypoint='getUtf8X';",
  644. " boolean columnReadBool(const varstring name, boolean _default) : method,pure,entrypoint='readBool';",
  645. " columnReadData(data result, const varstring name, const data _default) : method,pure,entrypoint='readData';",
  646. " data columnReadDataX(const varstring name, const data _default) : method,pure,entrypoint='readDataX';",
  647. " integer columnReadInt(const varstring name, integer _default) : method,pure,entrypoint='readInt';",
  648. " boolean columnReadSetIsAll(const varstring name, boolean _default) : method,pure,entrypoint='readIsSetAll';",
  649. " columnReadQString(qstring result, const varstring name, const qstring _default) : method,pure,entrypoint='readQString';",
  650. " columnReadString(string result, const varstring name, const string _default) : method,pure,entrypoint='readString';",
  651. " string columnReadStringX(const varstring name, const string _default) : method,pure,entrypoint='readStringX';",
  652. " unicode columnReadUnicodeX(const varstring name, const unicode _default) : method,pure,entrypoint='readUnicodeX';",
  653. " utf8 columnReadUtf8X(const varstring name, const utf8 _default) : method,pure,entrypoint='readUtf8X';",
  654. " checkRowOverflow(unsigned4 curSize, unsigned4 maxRowSize) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCheckRowOverflow';",
  655. " reportRowOverflow(unsigned4 curSize, unsigned4 maxRowSize) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlReportRowOverflow';",
  656. " checkFieldOverflow(unsigned4 curSize, unsigned4 maxRowSize, const varstring _name) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlCheckFieldOverflow';",
  657. " reportFieldOverflow(unsigned4 curSize, unsigned4 maxRowSize, const varstring _name) : eclrtl,pure,include='eclrtl.hpp',library='eclrtl',entrypoint='rtlReportFieldOverflow';",
  658. " _linkcounted_ row(dummyRecord) ensureCapacity(unsigned4 curSize, const varstring _fieldName) : omethod,entrypoint='ensureCapacity',allocator=false;",
  659. " ensureRowAvailable(unsigned4 curSize) : omethod,entrypoint='ensureAvailable';",
  660. " IIndirectMemberVisitor_visitRowset(_linkcounted_ dataset _x) : omethod,entrypoint='visitRowset';",
  661. " IIndirectMemberVisitor_visitRow(row _x) : omethod,entrypoint='visitRow';",
  662. " addAggregateRow(row extract) : method,entrypoint='processRow';",
  663. " getBytesFromBuilder() : omethod,entrypoint='getbytes';",
  664. " unsigned integer4 getClusterSize() : ctxmethod, entrypoint='getNodes';",
  665. " _linkcounted_ dataset getLocalLinkedResult(unsigned4 id) : method,allocator(false),pure,entrypoint='getLinkedResult';",
  666. " linkcounted dictionary getLocalDictionaryResult(unsigned4 id) : method,allocator(false),pure,entrypoint='getDictionaryResult';",
  667. " unsigned4 getGraphLoopCounter() : ctxmethod,entrypoint='getGraphLoopCounter';",
  668. " _linkcounted_ row(dummyRecord) finalizeRowClear(unsigned4 _size) : omethod,entrypoint='finalizeRowClear',allocator=false;",
  669. " setMethod(boolean _allocator) : omethod,entrypoint='set';",
  670. " setownMethod(boolean _allocator) : omethod,entrypoint='setown';",
  671. " boolean newWhenActionArg(boolean _meta) : include, pseudoentrypoint='new CLibraryWhenActionArg';",
  672. " boolean newCountAggregateArg(boolean _meta) : include, pseudoentrypoint='new CLibraryCountAggregateArg';",
  673. " boolean newDegroupArg(boolean _meta) : include, pseudoentrypoint='new CLibraryDegroupArg';",
  674. " boolean newExistsAggregateArg(boolean _meta) : include, pseudoentrypoint='new CLibraryExistsAggregateArg';",
  675. " boolean newFunnelArg(boolean _ordered, boolean _sequential, boolean _meta) : include, pseudoentrypoint='new CLibraryFunnelArg';",
  676. " boolean newGraphLoopResultWriteArg(boolean _meta) : include, pseudoentrypoint='new CLibraryGraphLoopResultWriteArg';",
  677. " boolean newLocalResultReadArg(unsigned4 _sequence, boolean meta) : include, pseudoentrypoint='new CLibraryLocalResultReadArg';",
  678. " boolean newLocalResultSpillArg(unsigned4 _sequence, boolean _usedOutside, boolean meta) : include, pseudoentrypoint='new CLibraryLocalResultSpillArg';",
  679. " boolean newNullArg(boolean meta) : include, pseudoentrypoint='new CLibraryNullArg';",
  680. " boolean newSplitArg(unsigned4 _usageCount, boolean _balanced, boolean meta) : include, pseudoentrypoint='new CLibrarySplitArg';",
  681. " boolean newSelectNArg(unsigned8 _index, boolean _clearFunc, boolean meta) : include, pseudoentrypoint='new CLibrarySelectNArg';",
  682. " boolean newMemorySpillReadArg(const varstring name, boolean meta) : include, pseudoentrypoint='new CLibraryMemorySpillReadArg';",
  683. " boolean newMemorySpillSplitArg(unsigned4 usageCount, const varstring name, boolean meta) : include, pseudoentrypoint='new CLibraryMemorySpillSplitArg';",
  684. " boolean newWorkUnitReadArg(const varstring _name, boolean _meta) : include, pseudoentrypoint='new CLibraryWorkUnitReadArg';",
  685. " boolean newWorkUnitWriteArg(const varstring _name, unsigned4 _flags, boolean _meta) : include, pseudoentrypoint='new CLibraryWorkUnitWriteArg';",
  686. " destructMetaMember(row _x) : omethod,entrypoint='destruct';",
  687. " walkIndirectMetaMember(row _x, boolean _visitor) : omethod,entrypoint='walkIndirectMembers';",
  688. " _linkcounted_ dataset linkdataset2linkdataset(_linkcounted_ dataset _x) : include,allocator(false),context,entrypoint='linkdataset2linkdataset';",
  689. " dummyRecord rtlSerializeToBuilder(boolean _serializer, dummyRecord _in) : eclrtl,include,entrypoint='rtlSerializeToBuilder';",
  690. " dummyRecord rtlDeserializeToBuilder(boolean _serializer, dummyRecord _in) : eclrtl,include,entrypoint='rtlDeserializeToBuilder';",
  691. " _linkcounted_ row(dummyRecord) rtlDeserializeRow(boolean _deserializer, dummyRecord _in) : eclrtl,include,entrypoint='rtlDeserializeRow';",
  692. " releaseRow(row _x) : include,entrypoint='rtlReleaseRow';",
  693. " releaseRowset(_linkcounted_ dataset _x) : include,allocator(false),entrypoint='rtlReleaseRowset';",
  694. " linkRow(row _x) : include,entrypoint='rtlLinkRow';",
  695. " _linkcounted_ dataset linkRowset(_linkcounted_ dataset _x) : include,allocator(false),entrypoint='rtlLinkRowset';",
  696. " _linkcounted_ dataset deserializeChildRowsetFromStream(boolean _deserializer, boolean _input) : eclrtl,include,entrypoint='rtlDeserializeChildRowset';",
  697. " serializeChildRowsetToStream(boolean _output, boolean _serializer, _linkcounted_ dataset _x) : eclrtl,include,entrypoint='rtlSerializeChildRowset';",
  698. " linkcounted dictionary deserializeChildDictionaryFromStream(boolean _deserializer, boolean _input) : eclrtl,include,entrypoint='rtlDeserializeChildDictionary';",
  699. " linkcounted dictionary deserializeChildDictionaryFromDatasetFromStream(boolean _deserializer, boolean _hasher, boolean _input) : eclrtl,include,entrypoint='rtlDeserializeChildDictionaryFromDataset';",
  700. " serializeChildDictionaryToStream(boolean _output, boolean _serializer, _linkcounted_ dictionary _x) : eclrtl,include,entrypoint='rtlSerializeChildDictionary';",
  701. " serializeChildDictionaryToDatasetToStream(boolean _output, boolean _serializer, _linkcounted_ dictionary _x) : eclrtl,include,entrypoint='rtlSerializeChildDictionaryToDataset';",
  702. " dictionary rtlSerializeDictionary(IOutputRowSerializer _ser, linkcounted dictionary x) : eclrtl,include,library='eclrtl',entrypoint='rtlSerializeDictionary';",
  703. " dataset rtlSerializeDictionaryToDataset(IOutputRowSerializer _ser, linkcounted dictionary x) : eclrtl,include,library='eclrtl',entrypoint='rtlSerializeDictionaryToDataset';",
  704. " linkcounted dictionary rtlDeserializeDictionary(IOutputRowDeserializer _ser, dictionary x) : eclrtl,include,library='eclrtl',entrypoint='rtlDeserializeDictionary';",
  705. " linkcounted dictionary rtlDeserializeDictionaryFromDataset(IOutputRowDeserializer _ser, IHThorHashLookupInfo _hashInfo, dataset x) : eclrtl,include,library='eclrtl',entrypoint='rtlDeserializeDictionaryFromDataset';",
  706. //Methods of IRowDeserializerSource
  707. " row(dummyRecord) deserializerPeek(unsigned4 _maxSize) : omethod,entrypoint='peek';",
  708. " unsigned4 deserializerBeginNested() : omethod,entrypoint='beginNested';",
  709. " boolean deserializerFinishedNested(unsigned4 pos) : omethod,entrypoint='finishedNested';",
  710. " unsigned4 deserializerReadN(data _target) : omethod,entrypoint='read';",
  711. " unsigned4 deserializerReadSize() : omethod,entrypoint='readSize';",
  712. " unsigned4 deserializerReadPackedInt(data _target) : omethod,entrypoint='readPackedInt';",
  713. " unsigned4 deserializerReadUtf8(boolean rowBuilder, unsigned4 offset, unsigned4 fixedSize, unsigned4 len) : omethod,entrypoint='readUtf8';",
  714. " unsigned4 deserializerReadVStr(boolean rowBuilder, unsigned4 offset, unsigned4 fixedSize) : omethod,entrypoint='readVStr';",
  715. " unsigned4 deserializerReadVUni(boolean rowBuilder, unsigned4 offset, unsigned4 fixedSize) : omethod,entrypoint='readVUni';",
  716. " deserializerSkipN(unsigned4 _size) : omethod,entrypoint='skip';",
  717. " deserializerSkipPacketInt() : omethod,entrypoint='skipPackedInt';",
  718. " deserializerSkipUtf8(unsigned4 _size) : omethod,entrypoint='skipUtf8';",
  719. " deserializerSkipVStr() : omethod,entrypoint='skipVStr';",
  720. " deserializerSkipVUni() : omethod,entrypoint='skipVUni';",
  721. //Methods of IRowSerializerTarget
  722. " serializerPut(const data _target) : omethod,entrypoint='put';",
  723. " unsigned4 serializerBeginNested() : omethod,entrypoint='beginNested';",
  724. " serializerEndNested(unsigned4 pos) : omethod,entrypoint='endNested';",
  725. // Dictionary support
  726. " integer8 dictionaryCount(_linkcounted_ dictionary dict) : eclrtl,include,pure,entrypoint='rtlDictionaryCount';",
  727. " boolean dictionaryExists(_linkcounted_ dictionary dict) : eclrtl,include,pure,entrypoint='rtlDictionaryExists';",
  728. " _linkcounted_ row(dummyRecord) dictionaryLookup(IHThorHashLookupInfo meta, _linkcounted_ dictionary dict, row key, _linkcounted_ row defaultrow) : eclrtl,include,pure,entrypoint='rtlDictionaryLookup',allocator=false;",
  729. " _linkcounted_ row(dummyRecord) dictionaryLookupString(_linkcounted_ dictionary dict, const string key, _linkcounted_ row defaultrow) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupString',allocator=false;",
  730. " _linkcounted_ row(dummyRecord) dictionaryLookupStringN(_linkcounted_ dictionary dict, const unsigned4 size, const string key, _linkcounted_ row defaultrow) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupStringN',allocator=false;",
  731. " _linkcounted_ row(dummyRecord) dictionaryLookupSigned(_linkcounted_ dictionary dict, const integer key, _linkcounted_ row defaultrow) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupSigned',allocator=false;",
  732. " _linkcounted_ row(dummyRecord) dictionaryLookupUnsigned(_linkcounted_ dictionary dict, const unsigned key, _linkcounted_ row defaultrow) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupUnsigned',allocator=false;",
  733. " _linkcounted_ row(dummyRecord) dictionaryLookupSignedN(_linkcounted_ dictionary dict, const unsigned4 size, const integer key, _linkcounted_ row defaultrow) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupSignedN',allocator=false;",
  734. " _linkcounted_ row(dummyRecord) dictionaryLookupUnsignedN(_linkcounted_ dictionary dict, const unsigned4 size, const unsigned key, _linkcounted_ row defaultrow) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupUnsignedN',allocator=false;",
  735. " boolean dictionaryLookupExists(boolean meta, _linkcounted_ dictionary dict, row key) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupExists';",
  736. " boolean dictionaryLookupExistsString(_linkcounted_ dictionary dict, const string key) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupExistsString';",
  737. " boolean dictionaryLookupExistsStringN(_linkcounted_ dictionary dict, const unsigned4 size, const string key) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupExistsStringN';",
  738. " boolean dictionaryLookupExistsSigned(_linkcounted_ dictionary dict, const integer key) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupExistsSigned';",
  739. " boolean dictionaryLookupExistsUnsigned(_linkcounted_ dictionary dict, const unsigned key) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupExistsUnsigned';",
  740. " boolean dictionaryLookupExistsSignedN(_linkcounted_ dictionary dict, const unsigned4 size, const integer key) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupExistsSignedN';",
  741. " boolean dictionaryLookupExistsUnsignedN(_linkcounted_ dictionary dict, const unsigned4 size, const unsigned key) : eclrtl,include,pure,entrypoint='rtlDictionaryLookupExistsUnsignedN';",
  742. // Marshalling parameters to external languages
  743. " bindBooleanParam(const varstring name, boolean val) : method,entrypoint='bindBooleanParam';",
  744. " bindDataParam(const varstring name, data val) : method,entrypoint='bindDataParam';",
  745. " bindRealParam(const varstring name, real val) : method,entrypoint='bindRealParam';",
  746. " bindRowParam(const varstring name, _linkcounted_ row row) : method,entrypoint='bindRowParam';",
  747. " bindSignedParam(const varstring name, integer val) : method,entrypoint='bindSignedParam';",
  748. " bindUnsignedParam(const varstring name, unsigned val) : method,entrypoint='bindUnsignedParam';",
  749. " bindStringParam(const varstring name, const string val) : method,entrypoint='bindStringParam';",
  750. " bindVStringParam(const varstring name, const varstring val) : method,entrypoint='bindVStringParam';",
  751. " bindUTF8Param(const varstring name, const utf8 val) : method,entrypoint='bindUTF8Param';",
  752. " bindUnicodeParam(const varstring name, const unicode val) : method,entrypoint='bindUnicodeParam';",
  753. " bindSetParam(const varstring name, integer4 typeCode, unsigned4 elemSize, const set of any val) : method,entrypoint='bindSetParam';",
  754. " boolean getBooleanResult() : method,entrypoint='getBooleanResult';",
  755. " data getDataResult() : method,entrypoint='getDataResult';",
  756. " streamed dataset getDatasetResult() : method,entrypoint='getDatasetResult';",
  757. " real getRealResult() : method,entrypoint='getRealResult';",
  758. " _linkcounted_ row(dummyRecord) getRowResult() : method,entrypoint='getRowResult';",
  759. " transform(dummyRecord) getTransformResult() : method,entrypoint='getTransformResult';",
  760. " integer getSignedResult() : method,entrypoint='getSignedResult';",
  761. " string getStringResult() : method,entrypoint='getStringResult';",
  762. " unsigned getUnsignedResult() : method,entrypoint='getUnsignedResult';",
  763. " utf8 getUTF8Result() : method,entrypoint='getUTF8Result';",
  764. " unicode getUnicodeResult() : method,entrypoint='getUnicodeResult';",
  765. " set of any getSetResult(integer4 typeCode, unsigned4 elemSize) : method,entrypoint='getSetResult';",
  766. " compileEmbeddedScript(const utf8 script) : method,entrypoint='compileEmbeddedScript';",
  767. " import(const utf8 script) : method,entrypoint='importFunction';",
  768. " END;",
  769. NULL };
  770. #endif