osdep.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>OSDEP API</title>
  5. <!-- Copyright Embedthis Software. All Rights Reserved. -->
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <meta charset="utf-8" />
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  9. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  10. <meta name="description" content="Simple, fast, secure embedded web server" />
  11. <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Open+Sans:300italic,400,300,700'
  12. rel='stylesheet' type='text/css'>
  13. <link href='https://fonts.googleapis.com/css?family=Julius+Sans+One' rel='stylesheet' type='text/css'>
  14. <link href="../../images/favicon.ico" rel="shortcut icon" />
  15. <link href="../../lib/semantic-ui/semantic.min.css" rel="stylesheet" type="text/css" />
  16. <link href="../../css/all.min.css" rel="stylesheet" type="text/css" />
  17. <link href="../../css/api.min.css" rel="stylesheet" type="text/css" />
  18. </head>
  19. <body class="show-sidebar">
  20. <div class="sidebar">
  21. <div class="ui large left vertical inverted labeled menu">
  22. <div class="item">
  23. <a href="../../" class="logo">GoAhead Docs</a>
  24. </div>
  25. <div class="item">
  26. <a href="../../">
  27. <b>General</b>
  28. </a>
  29. <div class="menu">
  30. <a class="item" href="../../">GoAhead Overview</a>
  31. <a class="item" href="../../users/features.html">GoAhead Features</a>
  32. <a class="item" href="https://embedthis.com/goahead/download.html">Download</a>
  33. <a class="item" href="../../licensing/">Licensing</a>
  34. </div>
  35. </div>
  36. <div class="item">
  37. <a href="../../start/">
  38. <b>Getting Started</b>
  39. </a>
  40. <div class="menu">
  41. <a class="item" href="../../start/quick.html">Quick Start</a>
  42. <a class="item" href="../../start/installing.html">Installing GoAhead</a>
  43. <a class="item" href="../../start/running.html">Running GoAhead</a>
  44. <a class="item" href="../../start/releaseNotes.html">Release Notes</a>
  45. <a class="item" href="../../start/faq.html">GoAhead FAQ</a>
  46. <a class="item" href="../../start/source.html">Building from Source</a>
  47. </div>
  48. </div>
  49. <div class="item">
  50. <a href="../../users/"><b>User's Guide</b></a>
  51. <div class="menu">
  52. <a class="item" href="../../users/ports.html">Ports and Binding</a>
  53. <a class="item" href="../../users/routing.html">Routing Requests</a>
  54. <a class="item" href="../../users/handlers.html">Request Handlers</a>
  55. <a class="item" href="../../users/js.html">Embedded Javascript</a>
  56. <a class="item" href="../../users/jst.html">Javascript Templates</a>
  57. <a class="item" href="../../users/goactions.html">GoActions</a>
  58. <a class="item" href="../../users/cgi.html">CGI Programs</a>
  59. <a class="item" href="../../users/authentication.html">User Authentication</a>
  60. <a class="item" href="../../users/logFiles.html">Log Files</a>
  61. <a class="item" href="../../users/ssl.html">Secure Sockets (SSL)</a>
  62. <a class="item" href="../../users/security.html">Security Considerations</a>
  63. <a class="item" href="../../users/man.html">Man Pages</a>
  64. </div>
  65. </div>
  66. <div class="item">
  67. <a href="../../developers/">Developer's Guide</a>
  68. <div class="menu">
  69. <a class="item" href="../../developers/embedding.html">Embedding GoAhead</a>
  70. <a class="item" href="../../developers/handlers.html">Creating GoAhead Handlers</a>
  71. <a class="item" href="../../developers/authstore.html">Creating Password Verifiers</a>
  72. <a class="item" href="../../developers/migrating.html">Migrating to GoAhead 3</a>
  73. <a class="item" href="../../developers/rom.html">Serving Pages from ROM</a>
  74. </div>
  75. </div>
  76. <div class="item">
  77. <a href="../../ref/">Reference Guide</a>
  78. <div class="menu">
  79. <a class="item" href="../../ref/compatibility.html">Compatibility</a>
  80. <a class="item" href="../../ref/native.html">API Library</a>
  81. <a class="item" href="../../ref/architecture.html">GoAhead Architecture</a>
  82. <a class="item" href="../../standards/http.html">HTTP References</a>
  83. </div>
  84. </div>
  85. <div class="item">
  86. <a href="../../developers/project.html">Project Resources</a>
  87. <div class="menu">
  88. <a class="item" href="http://goo.gl/IGbiio">Official GoAhead News</a>
  89. <a class="item" href="https://embedthis.com/goahead/">GoAhead Web Site</a>
  90. <a class="item" href="https://github.com/embedthis/goahead">Source Code Repository</a>
  91. <a class="item" href="https://github.com/embedthis/goahead/issues/99">GoAhead Security Alerts</a>
  92. <a class="item" href="https://github.com/embedthis/goahead/issues">Project Issue Database</a>
  93. <a class="item" href="https://github.com/embedthis/goahead/releases">Change Log</a>
  94. <a class="item" href="https://github.com/embedthis/goahead/milestones">Roadmap</a>
  95. <a class="item" href="https://embedthis.com/developers/contributors.html">Contributors Agreement</a>
  96. </div>
  97. </div>
  98. <div class="item">
  99. <b>Links</b>
  100. <div class="menu">
  101. <a class="item" href="https://embedthis.com/">Embedthis Web Site</a>
  102. <a class="item" href="https://embedthis.com/blog/">Embedthis Blog</a>
  103. <a class="item" href="http://twitter.com/embedthat">Twitter</a>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="ui inverted masthead">
  109. <div class="ui fixed inverted menu">
  110. <div class="ui sidebar-launch button">
  111. <i class="icon list layout"></i>
  112. </div>
  113. <div class="right menu">
  114. <a class="item" href="https://embedthis.com/">Embedthis</a>
  115. <a class="item" href="https://embedthis.com/goahead/">GoAhead Site</a>
  116. <span class="desktop-only">
  117. <a class="item" href="http://goo.gl/9bL9rM">GoAhead News</a>
  118. <a class="item" href="https://github.com/embedthis/goahead">Repository</a>
  119. <a class="item" href="https://embedthis.com/blog/">Blog</a>
  120. <a class="item" href="https://twitter.com/embedthat">Twitter</a>
  121. </span>
  122. </div>
  123. </div>
  124. <div class="ui breadcrumb">
  125. <a class="section" href="../../">Home</a>
  126. <div class="divider">/</div>
  127. <a class="section" href="../index.html">
  128. Reference
  129. </a>
  130. <div class="divider">/</div>
  131. <a class="section" href="../native.html">
  132. Native APIs
  133. </a>
  134. <div class="divider">/</div>
  135. <a class="active section" href="osdep.html">OSDEP API</a>
  136. </div>
  137. <iframe class="version desktop-only" src="../../version.html"></iframe>
  138. </div>
  139. <div class="content">
  140. <h1>OSDEP Native API</h1>
  141. <a name="Extensions"></a><h1>Extensions</h1>
  142. <table class="apiIndex" title="Extensions">
  143. </table>
  144. <a name="Functions"></a><h1>Functions</h1>
  145. <table class="apiIndex" title="Functions">
  146. </table>
  147. <a name="Typedefs"></a><h1>Typedefs</h1>
  148. <table class="apiIndex" title="typedefs">
  149. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a7bac74916a564105339bcd5a9323c366" class="nameRef">Offset</a></td><td class="apiBrief">Signed file offset data type.</td></tr>
  150. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1af9381320a2640ea84038579d8f143c01" class="nameRef">Socket</a></td><td class="apiBrief">Argument for sockets.</td></tr>
  151. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a7e81f05ea37d05efc10e7c45c1111d0d" class="nameRef">Socklen</a></td><td class="apiBrief">Size to hold the length of a socket address.</td></tr>
  152. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a06650984137cfde185bac06dd2a4f355" class="nameRef">Ticks</a></td><td class="apiBrief">Elapsed time data type.</td></tr>
  153. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1ad5c9d4ba3dc37783a528b0925dc981a0" class="nameRef">bool</a></td><td class="apiBrief">Boolean data type.</td></tr>
  154. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a0f128c3e0c83721af0220c00554e9c4e" class="nameRef">cchar</a></td><td class="apiBrief">Constant char data type.</td></tr>
  155. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a1f6289ab1328cf3c7852d75c397838a2" class="nameRef">cint</a></td><td class="apiBrief">Constant int data type.</td></tr>
  156. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1ad5d9ae5e2ea7e75aa605e36485987fc2" class="nameRef">cuchar</a></td><td class="apiBrief">Unsigned char data type.</td></tr>
  157. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a585ef5c0f4567945e1f3e7f32670accb" class="nameRef">cushort</a></td><td class="apiBrief">Constant unsigned short data type.</td></tr>
  158. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a5272042f7e0f5c53e2fd4b49ff47d92d" class="nameRef">cvoid</a></td><td class="apiBrief">Constant void data type.</td></tr>
  159. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a4355d16fcf9f644c9ac84293f0b1801f" class="nameRef">int16</a></td><td class="apiBrief">Integer 16 bits data type.</td></tr>
  160. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a56f1a81c92849566ae864511088eb7e8" class="nameRef">int32</a></td><td class="apiBrief">Integer 32 bits data type.</td></tr>
  161. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1ae47c588f3ab8c61121c1c7ab7edc47cd" class="nameRef">int8</a></td><td class="apiBrief">Integer 8 bits data type.</td></tr>
  162. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a0fd9ce9d735064461bebfe6037026093" class="nameRef">schar</a></td><td class="apiBrief">Signed char data type.</td></tr>
  163. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a7d08ccc1e981eb4d5a238641ac4ccfc1" class="nameRef">ssize</a></td><td class="apiBrief">Signed integer size field large enough to hold a pointer offset.</td></tr>
  164. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a65f85814a8290f9797005d3b28e7e5fc" class="nameRef">uchar</a></td><td class="apiBrief">Unsigned char data type.</td></tr>
  165. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a91ad9478d81a7aaf2593e8d9c3d06a14" class="nameRef">uint</a></td><td class="apiBrief">Unsigned integer (machine dependent bit size) data type.</td></tr>
  166. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a05f6b0ae8f6a6e135b0e290c25fe0e4e" class="nameRef">uint16</a></td><td class="apiBrief">Unsigned integer 16 bits data type.</td></tr>
  167. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a1134b580f8da4de94ca6b1de4d37975e" class="nameRef">uint32</a></td><td class="apiBrief">Unsigned integer 32 bits data type.</td></tr>
  168. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1adde6aaee8457bee49c2a92621fe22b79" class="nameRef">uint8</a></td><td class="apiBrief">Unsigned integer 8 bits data type.</td></tr>
  169. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1a718b4eb2652c286f4d42dc18a8e71a1a" class="nameRef">ulong</a></td><td class="apiBrief">Unsigned long (machine dependent bit size) data type.</td></tr>
  170. <tr class="apiDef"><td class="apiName"><a href="#osdep_8h_1ab95f123a6c9bcfee6a343170ef8c5f69" class="nameRef">ushort</a></td><td class="apiBrief">Unsigned short data type.</td></tr>
  171. </table>
  172. <a name="Defines"></a><h1>Defines</h1>
  173. <table class="apiIndex" title="Defines">
  174. <tr class="apiDef">
  175. <td>#define</td><td><a href="#osdep_8h_1a736241a28d828a05b8d709862bf7990f" class="nameRef">ME_BIG_ENDIAN</a>&nbsp;&nbsp;&nbsp;2</td>
  176. </tr>
  177. <tr class="apiBrief"><td>&nbsp;</td><td>Big endian byte ordering.</td></tr>
  178. <tr class="apiDef">
  179. <td>#define</td><td><a href="#osdep_8h_1a2f0a736986e64f8420db89ca8e4b70cd" class="nameRef">ME_BUFSIZE</a>&nbsp;&nbsp;&nbsp;4096</td>
  180. </tr>
  181. <tr class="apiBrief"><td>&nbsp;</td><td>Reasonable size for buffers.</td></tr>
  182. <tr class="apiDef">
  183. <td>#define</td><td><a href="#osdep_8h_1a443dca52b386807bfe6c7162d4b2a023" class="nameRef">ME_CPU_ARM</a>&nbsp;&nbsp;&nbsp;1</td>
  184. </tr>
  185. <tr class="apiBrief"><td>&nbsp;</td><td>Arm.</td></tr>
  186. <tr class="apiDef">
  187. <td>#define</td><td><a href="#osdep_8h_1ac339037b29b2fd949d7e62419793d12b" class="nameRef">ME_CPU_ITANIUM</a>&nbsp;&nbsp;&nbsp;2</td>
  188. </tr>
  189. <tr class="apiBrief"><td>&nbsp;</td><td>Intel Itanium.</td></tr>
  190. <tr class="apiDef">
  191. <td>#define</td><td><a href="#osdep_8h_1a1a583c909fba02ea516592a81773effd" class="nameRef">ME_CPU_MIPS</a>&nbsp;&nbsp;&nbsp;5</td>
  192. </tr>
  193. <tr class="apiBrief"><td>&nbsp;</td><td>Mips.</td></tr>
  194. <tr class="apiDef">
  195. <td>#define</td><td><a href="#osdep_8h_1a0d138a774a2c7d7a518f103589872ba7" class="nameRef">ME_CPU_PPC</a>&nbsp;&nbsp;&nbsp;6</td>
  196. </tr>
  197. <tr class="apiBrief"><td>&nbsp;</td><td>Power PC.</td></tr>
  198. <tr class="apiDef">
  199. <td>#define</td><td><a href="#osdep_8h_1a37fea4c5334adbdcc9756911d5dc3c69" class="nameRef">ME_CPU_SH</a>&nbsp;&nbsp;&nbsp;9</td>
  200. </tr>
  201. <tr class="apiBrief"><td>&nbsp;</td><td>SuperH.</td></tr>
  202. <tr class="apiDef">
  203. <td>#define</td><td><a href="#osdep_8h_1a0d7a6b6d52476cde608ffd4095e65d85" class="nameRef">ME_CPU_SPARC</a>&nbsp;&nbsp;&nbsp;7</td>
  204. </tr>
  205. <tr class="apiBrief"><td>&nbsp;</td><td>Sparc.</td></tr>
  206. <tr class="apiDef">
  207. <td>#define</td><td><a href="#osdep_8h_1a48107de6359e4eb347016f48bb4a3c3b" class="nameRef">ME_CPU_TIDSP</a>&nbsp;&nbsp;&nbsp;8</td>
  208. </tr>
  209. <tr class="apiBrief"><td>&nbsp;</td><td>TI DSP.</td></tr>
  210. <tr class="apiDef">
  211. <td>#define</td><td><a href="#osdep_8h_1a5674b5b2a7b04cee2b46f74920d52d8f" class="nameRef">ME_CPU_X64</a>&nbsp;&nbsp;&nbsp;4</td>
  212. </tr>
  213. <tr class="apiBrief"><td>&nbsp;</td><td>AMD64 or EMT64.</td></tr>
  214. <tr class="apiDef">
  215. <td>#define</td><td><a href="#osdep_8h_1aaacaa5832d9cfa8111ca25864d0c12ee" class="nameRef">ME_CPU_X86</a>&nbsp;&nbsp;&nbsp;3</td>
  216. </tr>
  217. <tr class="apiBrief"><td>&nbsp;</td><td>X86.</td></tr>
  218. <tr class="apiDef">
  219. <td>#define</td><td><a href="#osdep_8h_1a7f3e8d87a594a800e4ad8a6e6c131985" class="nameRef">ME_DEBUG</a>&nbsp;&nbsp;&nbsp;0</td>
  220. </tr>
  221. <tr class="apiBrief"><td>&nbsp;</td><td><a class="ref" href="#osdep_8h_source">osdep.h</a><ndash/> O/S abstraction for products using MakeMe.</td></tr>
  222. <tr class="apiDef">
  223. <td>#define</td><td><a href="#osdep_8h_1aa748d8e11fc5b0402c59831885b65ad0" class="nameRef">ME_LITTLE_ENDIAN</a>&nbsp;&nbsp;&nbsp;1</td>
  224. </tr>
  225. <tr class="apiBrief"><td>&nbsp;</td><td>Little endian byte ordering.</td></tr>
  226. <tr class="apiDef">
  227. <td>#define</td><td><a href="#osdep_8h_1a1acfc74ba25c25a18f5e3ec6d65975fd" class="nameRef">ME_MAX_ARGC</a>&nbsp;&nbsp;&nbsp;32</td>
  228. </tr>
  229. <tr class="apiBrief"><td>&nbsp;</td><td>Maximum number of command line args if using MAIN().</td></tr>
  230. <tr class="apiDef">
  231. <td>#define</td><td><a href="#osdep_8h_1af1506a7b55be80f6a003874d76c8b689" class="nameRef">ME_MAX_BUFFER</a>&nbsp;&nbsp;&nbsp;4096</td>
  232. </tr>
  233. <tr class="apiBrief"><td>&nbsp;</td><td>Reasonable size for buffers.</td></tr>
  234. <tr class="apiDef">
  235. <td>#define</td><td><a href="#osdep_8h_1a9d78235891c980fb95e8bdd6bbaae123" class="nameRef">ME_MAX_FNAME</a>&nbsp;&nbsp;&nbsp;256</td>
  236. </tr>
  237. <tr class="apiBrief"><td>&nbsp;</td><td>Reasonable filename size.</td></tr>
  238. <tr class="apiDef">
  239. <td>#define</td><td><a href="#osdep_8h_1ac26162cd12a36bec6a00e9c6942d3c57" class="nameRef">ME_MAX_PATH</a>&nbsp;&nbsp;&nbsp;1024</td>
  240. </tr>
  241. <tr class="apiBrief"><td>&nbsp;</td><td>Reasonable filename size.</td></tr>
  242. <tr class="apiDef">
  243. <td>#define</td><td><a href="#osdep_8h_1a90bb49312ca043c1eaf731d4aca5cdaa" class="nameRef">ME_STACK_SIZE</a>&nbsp;&nbsp;&nbsp;(128 * 1024)</td>
  244. </tr>
  245. <tr class="apiBrief"><td>&nbsp;</td><td>Default thread stack size (0 means use system default).</td></tr>
  246. <tr class="apiDef">
  247. <td>#define</td><td><a href="#osdep_8h_1a5a4b32e0a7ed302b1959f2d663eb9207" class="nameRef">TPS</a>&nbsp;&nbsp;&nbsp;1000</td>
  248. </tr>
  249. <tr class="apiBrief"><td>&nbsp;</td><td>Time/Ticks units per second (milliseconds).</td></tr>
  250. </table>
  251. <h2>Functions</h2>
  252. <h2>Typedefs</h2>
  253. <a name="osdep_8h_1ad5c9d4ba3dc37783a528b0925dc981a0"></a>
  254. <div class="api">
  255. <div class="prototype">
  256. typedef char bool.
  257. </div>
  258. <div class="apiDetail">
  259. <p>Boolean data type.</p>
  260. </div>
  261. </div>
  262. <a name="osdep_8h_1a0f128c3e0c83721af0220c00554e9c4e"></a>
  263. <div class="api">
  264. <div class="prototype">
  265. typedef const char cchar.
  266. </div>
  267. <div class="apiDetail">
  268. <p>Constant char data type.</p>
  269. </div>
  270. </div>
  271. <a name="osdep_8h_1a1f6289ab1328cf3c7852d75c397838a2"></a>
  272. <div class="api">
  273. <div class="prototype">
  274. typedef const int cint.
  275. </div>
  276. <div class="apiDetail">
  277. <p>Constant int data type.</p>
  278. </div>
  279. </div>
  280. <a name="osdep_8h_1ad5d9ae5e2ea7e75aa605e36485987fc2"></a>
  281. <div class="api">
  282. <div class="prototype">
  283. typedef const unsigned char cuchar.
  284. </div>
  285. <div class="apiDetail">
  286. <p>Unsigned char data type.</p>
  287. </div>
  288. </div>
  289. <a name="osdep_8h_1a585ef5c0f4567945e1f3e7f32670accb"></a>
  290. <div class="api">
  291. <div class="prototype">
  292. typedef const unsigned short cushort.
  293. </div>
  294. <div class="apiDetail">
  295. <p>Constant unsigned short data type.</p>
  296. </div>
  297. </div>
  298. <a name="osdep_8h_1a5272042f7e0f5c53e2fd4b49ff47d92d"></a>
  299. <div class="api">
  300. <div class="prototype">
  301. typedef const void cvoid.
  302. </div>
  303. <div class="apiDetail">
  304. <p>Constant void data type.</p>
  305. </div>
  306. </div>
  307. <a name="osdep_8h_1a4355d16fcf9f644c9ac84293f0b1801f"></a>
  308. <div class="api">
  309. <div class="prototype">
  310. typedef short int16.
  311. </div>
  312. <div class="apiDetail">
  313. <p>Integer 16 bits data type.</p>
  314. </div>
  315. </div>
  316. <a name="osdep_8h_1a56f1a81c92849566ae864511088eb7e8"></a>
  317. <div class="api">
  318. <div class="prototype">
  319. typedef int int32.
  320. </div>
  321. <div class="apiDetail">
  322. <p>Integer 32 bits data type.</p>
  323. </div>
  324. </div>
  325. <a name="osdep_8h_1ae47c588f3ab8c61121c1c7ab7edc47cd"></a>
  326. <div class="api">
  327. <div class="prototype">
  328. typedef char int8.
  329. </div>
  330. <div class="apiDetail">
  331. <p>Integer 8 bits data type.</p>
  332. </div>
  333. </div>
  334. <a name="osdep_8h_1a7bac74916a564105339bcd5a9323c366"></a>
  335. <div class="api">
  336. <div class="prototype">
  337. typedef int64 Offset.
  338. </div>
  339. <div class="apiDetail">
  340. <p>Signed file offset data type.</p>
  341. Supports large files greater than 4GB in size on all systems
  342. </div>
  343. </div>
  344. <a name="osdep_8h_1a0fd9ce9d735064461bebfe6037026093"></a>
  345. <div class="api">
  346. <div class="prototype">
  347. typedef signed char schar.
  348. </div>
  349. <div class="apiDetail">
  350. <p>Signed char data type.</p>
  351. </div>
  352. </div>
  353. <a name="osdep_8h_1af9381320a2640ea84038579d8f143c01"></a>
  354. <div class="api">
  355. <div class="prototype">
  356. typedef int Socket.
  357. </div>
  358. <div class="apiDetail">
  359. <p>Argument for sockets.</p>
  360. </div>
  361. </div>
  362. <a name="osdep_8h_1a7e81f05ea37d05efc10e7c45c1111d0d"></a>
  363. <div class="api">
  364. <div class="prototype">
  365. typedef int Socklen.
  366. </div>
  367. <div class="apiDetail">
  368. <p>Size to hold the length of a socket address.</p>
  369. </div>
  370. </div>
  371. <a name="osdep_8h_1a7d08ccc1e981eb4d5a238641ac4ccfc1"></a>
  372. <div class="api">
  373. <div class="prototype">
  374. typedef ssize_t ssize.
  375. </div>
  376. <div class="apiDetail">
  377. <p>Signed integer size field large enough to hold a pointer offset.</p>
  378. </div>
  379. </div>
  380. <a name="osdep_8h_1a06650984137cfde185bac06dd2a4f355"></a>
  381. <div class="api">
  382. <div class="prototype">
  383. typedef int64 Ticks.
  384. </div>
  385. <div class="apiDetail">
  386. <p>Elapsed time data type.</p>
  387. Stores time in milliseconds from some arbitrary start epoch
  388. </div>
  389. </div>
  390. <a name="osdep_8h_1a65f85814a8290f9797005d3b28e7e5fc"></a>
  391. <div class="api">
  392. <div class="prototype">
  393. typedef unsigned char uchar.
  394. </div>
  395. <div class="apiDetail">
  396. <p>Unsigned char data type.</p>
  397. </div>
  398. </div>
  399. <a name="osdep_8h_1a91ad9478d81a7aaf2593e8d9c3d06a14"></a>
  400. <div class="api">
  401. <div class="prototype">
  402. typedef unsigned int uint.
  403. </div>
  404. <div class="apiDetail">
  405. <p>Unsigned integer (machine dependent bit size) data type.</p>
  406. </div>
  407. </div>
  408. <a name="osdep_8h_1a05f6b0ae8f6a6e135b0e290c25fe0e4e"></a>
  409. <div class="api">
  410. <div class="prototype">
  411. typedef unsigned short uint16.
  412. </div>
  413. <div class="apiDetail">
  414. <p>Unsigned integer 16 bits data type.</p>
  415. </div>
  416. </div>
  417. <a name="osdep_8h_1a1134b580f8da4de94ca6b1de4d37975e"></a>
  418. <div class="api">
  419. <div class="prototype">
  420. typedef unsigned int uint32.
  421. </div>
  422. <div class="apiDetail">
  423. <p>Unsigned integer 32 bits data type.</p>
  424. </div>
  425. </div>
  426. <a name="osdep_8h_1adde6aaee8457bee49c2a92621fe22b79"></a>
  427. <div class="api">
  428. <div class="prototype">
  429. typedef unsigned char uint8.
  430. </div>
  431. <div class="apiDetail">
  432. <p>Unsigned integer 8 bits data type.</p>
  433. </div>
  434. </div>
  435. <a name="osdep_8h_1a718b4eb2652c286f4d42dc18a8e71a1a"></a>
  436. <div class="api">
  437. <div class="prototype">
  438. typedef unsigned long ulong.
  439. </div>
  440. <div class="apiDetail">
  441. <p>Unsigned long (machine dependent bit size) data type.</p>
  442. </div>
  443. </div>
  444. <a name="osdep_8h_1ab95f123a6c9bcfee6a343170ef8c5f69"></a>
  445. <div class="api">
  446. <div class="prototype">
  447. typedef unsigned short ushort.
  448. </div>
  449. <div class="apiDetail">
  450. <p>Unsigned short data type.</p>
  451. </div>
  452. </div>
  453. </div>
  454. <div class="terms ui basic center aligned segment">
  455. <p>&copy; Embedthis Software, 2003-2015. All rights reserved.</p>
  456. </div>
  457. <script src="../../lib/jquery/jquery.min.js"></script>
  458. <script src="../../lib/semantic-ui/semantic.min.js"></script>
  459. <script src="../../scripts/sidebar.min.js"></script>
  460. </body>
  461. </html>