LowMem.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:62k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /*
  2.      File:       LowMem.h
  3.  
  4.      Contains:   Low Memory Accessor Interfaces.
  5.  
  6.      Version:    Technology: Mac OS 8.1
  7.                  Release:    QuickTime 6.0.2
  8.  
  9.      Copyright:  (c) 1993-2001 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:      For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __LOWMEM__
  18. #define __LOWMEM__
  19. #ifndef __MACTYPES__
  20. #include "MacTypes.h"
  21. #endif
  22. #ifndef __CONTROLS__
  23. #include "Controls.h"
  24. #endif
  25. #ifndef __EVENTS__
  26. #include "Events.h"
  27. #endif
  28. #ifndef __FILES__
  29. #include "Files.h"
  30. #endif
  31. #ifndef __FONTS__
  32. #include "Fonts.h"
  33. #endif
  34. #ifndef __MACMEMORY__
  35. #include "MacMemory.h"
  36. #endif
  37. #ifndef __MENUS__
  38. #include "Menus.h"
  39. #endif
  40. #ifndef __OSUTILS__
  41. #include "OSUtils.h"
  42. #endif
  43. #ifndef __QUICKDRAW__
  44. #include "Quickdraw.h"
  45. #endif
  46. #ifndef __RESOURCES__
  47. #include "Resources.h"
  48. #endif
  49. #if !OPAQUE_TOOLBOX_STRUCTS
  50. #ifndef __MACWINDOWS__
  51. #include "MacWindows.h"
  52. #endif
  53. #endif  /* !OPAQUE_TOOLBOX_STRUCTS */
  54. #if PRAGMA_ONCE
  55. #pragma once
  56. #endif
  57. #ifdef __cplusplus
  58. extern "C" {
  59. #endif
  60. #if PRAGMA_IMPORT
  61. #pragma import on
  62. #endif
  63. #if PRAGMA_STRUCT_ALIGN
  64.     #pragma options align=mac68k
  65. #elif PRAGMA_STRUCT_PACKPUSH
  66.     #pragma pack(push, 2)
  67. #elif PRAGMA_STRUCT_PACK
  68.     #pragma pack(2)
  69. #endif
  70. /**************************************************************************************
  71.     SIMPLE LOWMEM ACCESSORS
  72. **************************************************************************************/
  73. EXTERN_API( SInt16 ) LMGetScrVRes(void)                                                     TWOWORDINLINE(0x3EB8, 0x0102);
  74. EXTERN_API( void ) LMSetScrVRes(SInt16 value)                                               TWOWORDINLINE(0x31DF, 0x0102);
  75. EXTERN_API( SInt16 ) LMGetScrHRes(void)                                                     TWOWORDINLINE(0x3EB8, 0x0104);
  76. EXTERN_API( void ) LMSetScrHRes(SInt16 value)                                               TWOWORDINLINE(0x31DF, 0x0104);
  77. EXTERN_API( Ptr ) LMGetMemTop(void)                                                         TWOWORDINLINE(0x2EB8, 0x0108);
  78. EXTERN_API( void ) LMSetMemTop(Ptr value)                                                   TWOWORDINLINE(0x21DF, 0x0108);
  79. EXTERN_API( Ptr ) LMGetBufPtr(void)                                                         TWOWORDINLINE(0x2EB8, 0x010C);
  80. EXTERN_API( void ) LMSetBufPtr(Ptr value)                                                   TWOWORDINLINE(0x21DF, 0x010C);
  81. EXTERN_API( Ptr ) LMGetHeapEnd(void)                                                        TWOWORDINLINE(0x2EB8, 0x0114);
  82. EXTERN_API( void ) LMSetHeapEnd(Ptr value)                                                  TWOWORDINLINE(0x21DF, 0x0114);
  83. #if CALL_NOT_IN_CARBON
  84. EXTERN_API( THz ) LMGetTheZone(void)                                                        TWOWORDINLINE(0x2EB8, 0x0118);
  85. EXTERN_API( void ) LMSetTheZone(THz value)                                                  TWOWORDINLINE(0x21DF, 0x0118);
  86. EXTERN_API( Ptr ) LMGetUTableBase(void)                                                     TWOWORDINLINE(0x2EB8, 0x011C);
  87. EXTERN_API( void ) LMSetUTableBase(Ptr value)                                               TWOWORDINLINE(0x21DF, 0x011C);
  88. #endif  /* CALL_NOT_IN_CARBON */
  89. EXTERN_API( UInt8 ) LMGetCPUFlag(void)                                                      TWOWORDINLINE(0x1EB8, 0x012F);
  90. EXTERN_API( void ) LMSetCPUFlag(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x012F);
  91. #if CALL_NOT_IN_CARBON
  92. EXTERN_API( Ptr ) LMGetApplLimit(void)                                                      TWOWORDINLINE(0x2EB8, 0x0130);
  93. EXTERN_API( void ) LMSetApplLimit(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0130);
  94. #endif  /* CALL_NOT_IN_CARBON */
  95. #if CALL_NOT_IN_CARBON
  96. #if CALL_NOT_IN_CARBON
  97. EXTERN_API( SInt16 ) LMGetSysEvtMask(void)                                                  TWOWORDINLINE(0x3EB8, 0x0144);
  98. /* Carbon Usage: use SetEventMask*/
  99. EXTERN_API( void ) LMSetSysEvtMask(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0144);
  100. #endif  /* CALL_NOT_IN_CARBON */
  101. #endif  /* CALL_NOT_IN_CARBON */
  102. EXTERN_API( SInt32 ) LMGetRndSeed(void)                                                     TWOWORDINLINE(0x2EB8, 0x0156);
  103. EXTERN_API( void ) LMSetRndSeed(SInt32 value)                                               TWOWORDINLINE(0x21DF, 0x0156);
  104. EXTERN_API( UInt8 ) LMGetSEvtEnb(void)                                                      TWOWORDINLINE(0x1EB8, 0x015C);
  105. EXTERN_API( void ) LMSetSEvtEnb(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x015C);
  106. #if CALL_NOT_IN_CARBON
  107. #if CALL_NOT_IN_CARBON
  108. EXTERN_API( UInt32 ) LMGetTicks(void)                                                       TWOWORDINLINE(0x2EB8, 0x016A);
  109. EXTERN_API( void ) LMSetTicks(UInt32 value)                                                 TWOWORDINLINE(0x21DF, 0x016A);
  110. #endif  /* CALL_NOT_IN_CARBON */
  111. #endif  /* CALL_NOT_IN_CARBON */
  112. EXTERN_API( SInt16 ) LMGetKeyThresh(void)                                                   TWOWORDINLINE(0x3EB8, 0x018E);
  113. EXTERN_API( void ) LMSetKeyThresh(SInt16 value)                                             TWOWORDINLINE(0x31DF, 0x018E);
  114. EXTERN_API( SInt16 ) LMGetKeyRepThresh(void)                                                TWOWORDINLINE(0x3EB8, 0x0190);
  115. EXTERN_API( void ) LMSetKeyRepThresh(SInt16 value)                                          TWOWORDINLINE(0x31DF, 0x0190);
  116. #if CALL_NOT_IN_CARBON
  117. EXTERN_API( Ptr ) LMGetVIA(void)                                                            TWOWORDINLINE(0x2EB8, 0x01D4);
  118. EXTERN_API( void ) LMSetVIA(Ptr value)                                                      TWOWORDINLINE(0x21DF, 0x01D4);
  119. EXTERN_API( Ptr ) LMGetSCCRd(void)                                                          TWOWORDINLINE(0x2EB8, 0x01D8);
  120. EXTERN_API( void ) LMSetSCCRd(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x01D8);
  121. EXTERN_API( Ptr ) LMGetSCCWr(void)                                                          TWOWORDINLINE(0x2EB8, 0x01DC);
  122. EXTERN_API( void ) LMSetSCCWr(Ptr value)                                                    TWOWORDINLINE(0x21DF, 0x01DC);
  123. EXTERN_API( UInt8 ) LMGetSPValid(void)                                                      TWOWORDINLINE(0x1EB8, 0x01F8);
  124. EXTERN_API( void ) LMSetSPValid(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x01F8);
  125. EXTERN_API( UInt8 ) LMGetSPATalkA(void)                                                     TWOWORDINLINE(0x1EB8, 0x01F9);
  126. EXTERN_API( void ) LMSetSPATalkA(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x01F9);
  127. EXTERN_API( UInt8 ) LMGetSPATalkB(void)                                                     TWOWORDINLINE(0x1EB8, 0x01FA);
  128. EXTERN_API( void ) LMSetSPATalkB(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x01FA);
  129. EXTERN_API( UInt8 ) LMGetSPConfig(void)                                                     TWOWORDINLINE(0x1EB8, 0x01FB);
  130. EXTERN_API( void ) LMSetSPConfig(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x01FB);
  131. EXTERN_API( SInt16 ) LMGetSPPortA(void)                                                     TWOWORDINLINE(0x3EB8, 0x01FC);
  132. EXTERN_API( void ) LMSetSPPortA(SInt16 value)                                               TWOWORDINLINE(0x31DF, 0x01FC);
  133. EXTERN_API( SInt16 ) LMGetSPPortB(void)                                                     TWOWORDINLINE(0x3EB8, 0x01FE);
  134. EXTERN_API( void ) LMSetSPPortB(SInt16 value)                                               TWOWORDINLINE(0x31DF, 0x01FE);
  135. EXTERN_API( SInt32 ) LMGetSPAlarm(void)                                                     TWOWORDINLINE(0x2EB8, 0x0200);
  136. EXTERN_API( void ) LMSetSPAlarm(SInt32 value)                                               TWOWORDINLINE(0x21DF, 0x0200);
  137. EXTERN_API( SInt16 ) LMGetSPFont(void)                                                      TWOWORDINLINE(0x3EB8, 0x0204);
  138. EXTERN_API( void ) LMSetSPFont(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0204);
  139. EXTERN_API( UInt8 ) LMGetSPKbd(void)                                                        TWOWORDINLINE(0x1EB8, 0x0206);
  140. EXTERN_API( void ) LMSetSPKbd(UInt8 value)                                                  TWOWORDINLINE(0x11DF, 0x0206);
  141. EXTERN_API( UInt8 ) LMGetSPPrint(void)                                                      TWOWORDINLINE(0x1EB8, 0x0207);
  142. EXTERN_API( void ) LMSetSPPrint(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0207);
  143. EXTERN_API( UInt8 ) LMGetSPVolCtl(void)                                                     TWOWORDINLINE(0x1EB8, 0x0208);
  144. EXTERN_API( void ) LMSetSPVolCtl(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x0208);
  145. EXTERN_API( UInt8 ) LMGetSPClikCaret(void)                                                  TWOWORDINLINE(0x1EB8, 0x0209);
  146. EXTERN_API( void ) LMSetSPClikCaret(UInt8 value)                                            TWOWORDINLINE(0x11DF, 0x0209);
  147. EXTERN_API( UInt8 ) LMGetSPMisc2(void)                                                      TWOWORDINLINE(0x1EB8, 0x020B);
  148. EXTERN_API( void ) LMSetSPMisc2(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x020B);
  149. #endif  /* CALL_NOT_IN_CARBON */
  150. #if CALL_NOT_IN_CARBON
  151. /* Carbon Usage: use GetDateTime*/
  152. #if CALL_NOT_IN_CARBON
  153. EXTERN_API( SInt32 ) LMGetTime(void)                                                        TWOWORDINLINE(0x2EB8, 0x020C);
  154. /* Carbon Usage: use SetDateTime*/
  155. EXTERN_API( void ) LMSetTime(SInt32 value)                                                  TWOWORDINLINE(0x21DF, 0x020C);
  156. #endif  /* CALL_NOT_IN_CARBON */
  157. #endif  /* CALL_NOT_IN_CARBON */
  158. EXTERN_API( SInt16 ) LMGetBootDrive(void)                                                   TWOWORDINLINE(0x3EB8, 0x0210);
  159. EXTERN_API( void ) LMSetBootDrive(SInt16 value)                                             TWOWORDINLINE(0x31DF, 0x0210);
  160. #if CALL_NOT_IN_CARBON
  161. EXTERN_API( SInt16 ) LMGetSFSaveDisk(void)                                                  TWOWORDINLINE(0x3EB8, 0x0214);
  162. EXTERN_API( void ) LMSetSFSaveDisk(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0214);
  163. #endif  /* CALL_NOT_IN_CARBON */
  164. EXTERN_API( UInt8 ) LMGetKbdLast(void)                                                      TWOWORDINLINE(0x1EB8, 0x0218);
  165. EXTERN_API( void ) LMSetKbdLast(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0218);
  166. EXTERN_API( UInt8 ) LMGetKbdType(void)                                                      TWOWORDINLINE(0x1EB8, 0x021E);
  167. EXTERN_API( void ) LMSetKbdType(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x021E);
  168. EXTERN_API( SInt16 ) LMGetMemErr(void)                                                      TWOWORDINLINE(0x3EB8, 0x0220);
  169. EXTERN_API( void ) LMSetMemErr(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0220);
  170. EXTERN_API( UInt8 ) LMGetSdVolume(void)                                                     TWOWORDINLINE(0x1EB8, 0x0260);
  171. EXTERN_API( void ) LMSetSdVolume(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x0260);
  172. EXTERN_API( Ptr ) LMGetSoundPtr(void)                                                       TWOWORDINLINE(0x2EB8, 0x0262);
  173. EXTERN_API( void ) LMSetSoundPtr(Ptr value)                                                 TWOWORDINLINE(0x21DF, 0x0262);
  174. EXTERN_API( Ptr ) LMGetSoundBase(void)                                                      TWOWORDINLINE(0x2EB8, 0x0266);
  175. EXTERN_API( void ) LMSetSoundBase(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0266);
  176. EXTERN_API( UInt8 ) LMGetSoundLevel(void)                                                   TWOWORDINLINE(0x1EB8, 0x027F);
  177. EXTERN_API( void ) LMSetSoundLevel(UInt8 value)                                             TWOWORDINLINE(0x11DF, 0x027F);
  178. EXTERN_API( SInt16 ) LMGetCurPitch(void)                                                    TWOWORDINLINE(0x3EB8, 0x0280);
  179. EXTERN_API( void ) LMSetCurPitch(SInt16 value)                                              TWOWORDINLINE(0x31DF, 0x0280);
  180. #if CALL_NOT_IN_CARBON
  181. EXTERN_API( SInt16 ) LMGetROM85(void)                                                       TWOWORDINLINE(0x3EB8, 0x028E);
  182. EXTERN_API( void ) LMSetROM85(SInt16 value)                                                 TWOWORDINLINE(0x31DF, 0x028E);
  183. EXTERN_API( UInt8 ) LMGetPortBUse(void)                                                     TWOWORDINLINE(0x1EB8, 0x0291);
  184. EXTERN_API( void ) LMSetPortBUse(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x0291);
  185. #endif  /* CALL_NOT_IN_CARBON */
  186. #if CALL_NOT_IN_CARBON
  187. #if CALL_NOT_IN_CARBON
  188. EXTERN_API( GetNextEventFilterUPP ) LMGetGNEFilter(void)                                    TWOWORDINLINE(0x2EB8, 0x029A);
  189. EXTERN_API( void ) LMSetGNEFilter(GetNextEventFilterUPP value)                              TWOWORDINLINE(0x21DF, 0x029A);
  190. #endif  /* CALL_NOT_IN_CARBON */
  191. #endif  /* CALL_NOT_IN_CARBON */
  192. EXTERN_API( THz ) LMGetSysZone(void)                                                        TWOWORDINLINE(0x2EB8, 0x02A6);
  193. EXTERN_API( void ) LMSetSysZone(THz value)                                                  TWOWORDINLINE(0x21DF, 0x02A6);
  194. EXTERN_API( THz ) LMGetApplZone(void)                                                       TWOWORDINLINE(0x2EB8, 0x02AA);
  195. EXTERN_API( void ) LMSetApplZone(THz value)                                                 TWOWORDINLINE(0x21DF, 0x02AA);
  196. #if CALL_NOT_IN_CARBON
  197. EXTERN_API( Ptr ) LMGetROMBase(void)                                                        TWOWORDINLINE(0x2EB8, 0x02AE);
  198. EXTERN_API( void ) LMSetROMBase(Ptr value)                                                  TWOWORDINLINE(0x21DF, 0x02AE);
  199. EXTERN_API( Ptr ) LMGetRAMBase(void)                                                        TWOWORDINLINE(0x2EB8, 0x02B2);
  200. EXTERN_API( void ) LMSetRAMBase(Ptr value)                                                  TWOWORDINLINE(0x21DF, 0x02B2);
  201. #endif  /* CALL_NOT_IN_CARBON */
  202. #if CALL_NOT_IN_CARBON
  203. #if CALL_NOT_IN_CARBON
  204. EXTERN_API( Ptr ) LMGetDSAlertTab(void)                                                     TWOWORDINLINE(0x2EB8, 0x02BA);
  205. EXTERN_API( void ) LMSetDSAlertTab(Ptr value)                                               TWOWORDINLINE(0x21DF, 0x02BA);
  206. #endif  /* CALL_NOT_IN_CARBON */
  207. #endif  /* CALL_NOT_IN_CARBON */
  208. /*
  209.     NOTE:   LMGetABusVars and LMSetABusVars have been removed.
  210.             Their implememtation in InterfaceLib was inconsistent
  211.             with their prototypes here.  In InterfaceLib LMSetABusVars 
  212.             would copy eight bytes and LMGetABusVars would return the
  213.             value 0x02D8 instead of the long at that location.
  214.             
  215.             Use LMGetABusGlobals/LMSetABusGlobals to get/set the
  216.             long at location 0x02D8 which is a pointer to the AppleTalk
  217.             globals.  Use LMGetABusDCE/LMSetABusDCE to get/set the
  218.             long at location 0x02DC which is the .MPP driver
  219.             Device Control Entry. 
  220.             
  221. */
  222. #if CALL_NOT_IN_CARBON
  223. EXTERN_API( Ptr ) LMGetABusGlobals(void)                                                    TWOWORDINLINE(0x2EB8, 0x02D8);
  224. EXTERN_API( Ptr ) LMGetABusDCE(void)                                                        TWOWORDINLINE(0x2EB8, 0x02DC);
  225. #endif  /* CALL_NOT_IN_CARBON */
  226. #if CALL_NOT_IN_CARBON
  227. #if CALL_NOT_IN_CARBON
  228. EXTERN_API( void ) LMSetABusGlobals(Ptr value)                                              TWOWORDINLINE(0x21DF, 0x02D8);
  229. EXTERN_API( void ) LMSetABusDCE(Ptr value)                                                  TWOWORDINLINE(0x21DF, 0x02DC);
  230. /* Carbon Usage: use GetDblTime*/
  231. EXTERN_API( UInt32 ) LMGetDoubleTime(void)                                                  TWOWORDINLINE(0x2EB8, 0x02F0);
  232. EXTERN_API( void ) LMSetDoubleTime(UInt32 value)                                            TWOWORDINLINE(0x21DF, 0x02F0);
  233. /* Carbon Usage: use GetCaretTime*/
  234. EXTERN_API( UInt32 ) LMGetCaretTime(void)                                                   TWOWORDINLINE(0x2EB8, 0x02F4);
  235. EXTERN_API( void ) LMSetCaretTime(UInt32 value)                                             TWOWORDINLINE(0x21DF, 0x02F4);
  236. #endif  /* CALL_NOT_IN_CARBON */
  237. #endif  /* CALL_NOT_IN_CARBON */
  238. EXTERN_API( UInt8 ) LMGetScrDmpEnb(void)                                                    TWOWORDINLINE(0x1EB8, 0x02F8);
  239. EXTERN_API( void ) LMSetScrDmpEnb(UInt8 value)                                              TWOWORDINLINE(0x11DF, 0x02F8);
  240. EXTERN_API( SInt32 ) LMGetBufTgFNum(void)                                                   TWOWORDINLINE(0x2EB8, 0x02FC);
  241. EXTERN_API( void ) LMSetBufTgFNum(SInt32 value)                                             TWOWORDINLINE(0x21DF, 0x02FC);
  242. EXTERN_API( SInt16 ) LMGetBufTgFFlg(void)                                                   TWOWORDINLINE(0x3EB8, 0x0300);
  243. EXTERN_API( void ) LMSetBufTgFFlg(SInt16 value)                                             TWOWORDINLINE(0x31DF, 0x0300);
  244. EXTERN_API( SInt16 ) LMGetBufTgFBkNum(void)                                                 TWOWORDINLINE(0x3EB8, 0x0302);
  245. EXTERN_API( void ) LMSetBufTgFBkNum(SInt16 value)                                           TWOWORDINLINE(0x31DF, 0x0302);
  246. EXTERN_API( SInt32 ) LMGetBufTgDate(void)                                                   TWOWORDINLINE(0x2EB8, 0x0304);
  247. EXTERN_API( void ) LMSetBufTgDate(SInt32 value)                                             TWOWORDINLINE(0x21DF, 0x0304);
  248. #if CALL_NOT_IN_CARBON
  249. EXTERN_API( SInt32 ) LMGetLo3Bytes(void)                                                    TWOWORDINLINE(0x2EB8, 0x031A);
  250. EXTERN_API( void ) LMSetLo3Bytes(SInt32 value)                                              TWOWORDINLINE(0x21DF, 0x031A);
  251. #endif  /* CALL_NOT_IN_CARBON */
  252. EXTERN_API( SInt32 ) LMGetMinStack(void)                                                    TWOWORDINLINE(0x2EB8, 0x031E);
  253. EXTERN_API( void ) LMSetMinStack(SInt32 value)                                              TWOWORDINLINE(0x21DF, 0x031E);
  254. EXTERN_API( SInt32 ) LMGetDefltStack(void)                                                  TWOWORDINLINE(0x2EB8, 0x0322);
  255. EXTERN_API( void ) LMSetDefltStack(SInt32 value)                                            TWOWORDINLINE(0x21DF, 0x0322);
  256. EXTERN_API( Handle ) LMGetGZRootHnd(void)                                                   TWOWORDINLINE(0x2EB8, 0x0328);
  257. EXTERN_API( void ) LMSetGZRootHnd(Handle value)                                             TWOWORDINLINE(0x21DF, 0x0328);
  258. EXTERN_API( Handle ) LMGetGZMoveHnd(void)                                                   TWOWORDINLINE(0x2EB8, 0x0330);
  259. EXTERN_API( void ) LMSetGZMoveHnd(Handle value)                                             TWOWORDINLINE(0x21DF, 0x0330);
  260. #if CALL_NOT_IN_CARBON
  261. /*
  262.    LMGetFCBSPtr, LMSetFCBSPtr and LMSetFSFCBLen are not supported with Mac OS 9
  263.    and later. Access to information in File Control Blocks or Fork Control Blocks
  264.    (FCBs) should, if at all possible, be made with the GetFCBInfo or GetForkCBInfo
  265.    routines. See the Technote "FCBs, Now and Forever" or the Technical Q&A
  266.    "Accessing File Control Blocks" for complete information on this subject.
  267.    Direct access to FCBs is not allowed by Carbon. Non-Carbon programs that
  268.    require direct access to FCBs should use the File System Manager (FSM) FCB accessor
  269.    functions if FSM is available (use the Gestalt selector gestaltFSAttr to determine
  270.    this). Non-Carbon programs needing direct access to FCBs when FSM is not available
  271.    can define ENABLE_FCB_ARRAY_ACCESS to be true when compiling.
  272. */
  273. #ifndef ENABLE_FCB_ARRAY_ACCESS
  274. #define ENABLE_FCB_ARRAY_ACCESS 0
  275. #endif  /* !defined(ENABLE_FCB_ARRAY_ACCESS) */
  276. #if ENABLE_FCB_ARRAY_ACCESS
  277. #if CALL_NOT_IN_CARBON
  278. EXTERN_API( Ptr ) LMGetFCBSPtr(void)                                                        TWOWORDINLINE(0x2EB8, 0x034E);
  279. EXTERN_API( void ) LMSetFCBSPtr(Ptr value)                                                  TWOWORDINLINE(0x21DF, 0x034E);
  280. EXTERN_API( void ) LMSetFSFCBLen(SInt16 value)                                              TWOWORDINLINE(0x31DF, 0x03F6);
  281. #endif  /* CALL_NOT_IN_CARBON */
  282. #endif  /* ENABLE_FCB_ARRAY_ACCESS */
  283. /*
  284.    LMGetFSFCBLen is supported only for the purpose of determining that the HFS
  285.    file system is available as documented in developer Technotes (the HFS file system
  286.    is available in System 3.2 and later). There is no documented use of FSFCBLen
  287.    other than testing it for a positive value.
  288. */
  289. #if CALL_NOT_IN_CARBON
  290. EXTERN_API( SInt16 ) LMGetFSFCBLen(void)                                                    TWOWORDINLINE(0x3EB8, 0x03F6);
  291. #endif  /* CALL_NOT_IN_CARBON */
  292. #endif  /* CALL_NOT_IN_CARBON */
  293. #if CALL_NOT_IN_CARBON
  294. EXTERN_API( Ptr ) LMGetDefVCBPtr(void)                                                      TWOWORDINLINE(0x2EB8, 0x0352);
  295. EXTERN_API( void ) LMSetDefVCBPtr(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0352);
  296. EXTERN_API( SInt32 ) LMGetCurDirStore(void)                                                 TWOWORDINLINE(0x2EB8, 0x0398);
  297. EXTERN_API( void ) LMSetCurDirStore(SInt32 value)                                           TWOWORDINLINE(0x21DF, 0x0398);
  298. #endif  /* CALL_NOT_IN_CARBON */
  299. EXTERN_API( UniversalProcPtr ) LMGetToExtFS(void)                                           TWOWORDINLINE(0x2EB8, 0x03F2);
  300. EXTERN_API( void ) LMSetToExtFS(UniversalProcPtr value)                                     TWOWORDINLINE(0x21DF, 0x03F2);
  301. #if CALL_NOT_IN_CARBON
  302. EXTERN_API( Ptr ) LMGetScrnBase(void)                                                       TWOWORDINLINE(0x2EB8, 0x0824);
  303. EXTERN_API( void ) LMSetScrnBase(Ptr value)                                                 TWOWORDINLINE(0x21DF, 0x0824);
  304. #endif  /* CALL_NOT_IN_CARBON */
  305. EXTERN_API( GDHandle ) LMGetMainDevice(void)                                                TWOWORDINLINE(0x2EB8, 0x08A4);
  306. EXTERN_API( void ) LMSetMainDevice(GDHandle value)                                          TWOWORDINLINE(0x21DF, 0x08A4);
  307. EXTERN_API( GDHandle ) LMGetDeviceList(void)                                                TWOWORDINLINE(0x2EB8, 0x08A8);
  308. EXTERN_API( void ) LMSetDeviceList(GDHandle value)                                          TWOWORDINLINE(0x21DF, 0x08A8);
  309. EXTERN_API( Handle ) LMGetQDColors(void)                                                    TWOWORDINLINE(0x2EB8, 0x08B0);
  310. EXTERN_API( void ) LMSetQDColors(Handle value)                                              TWOWORDINLINE(0x21DF, 0x08B0);
  311. #if CALL_NOT_IN_CARBON
  312. EXTERN_API( UInt8 ) LMGetCrsrBusy(void)                                                     TWOWORDINLINE(0x1EB8, 0x08CD);
  313. EXTERN_API( void ) LMSetCrsrBusy(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x08CD);
  314. #endif  /* CALL_NOT_IN_CARBON */
  315. EXTERN_API( Handle ) LMGetWidthListHand(void)                                               TWOWORDINLINE(0x2EB8, 0x08E4);
  316. EXTERN_API( void ) LMSetWidthListHand(Handle value)                                         TWOWORDINLINE(0x21DF, 0x08E4);
  317. #if CALL_NOT_IN_CARBON
  318. EXTERN_API( SInt16 ) LMGetJournalRef(void)                                                  TWOWORDINLINE(0x3EB8, 0x08E8);
  319. EXTERN_API( void ) LMSetJournalRef(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x08E8);
  320. EXTERN_API( SInt16 ) LMGetCrsrThresh(void)                                                  TWOWORDINLINE(0x3EB8, 0x08EC);
  321. EXTERN_API( void ) LMSetCrsrThresh(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x08EC);
  322. EXTERN_API( UniversalProcPtr ) LMGetJFetch(void)                                            TWOWORDINLINE(0x2EB8, 0x08F4);
  323. EXTERN_API( void ) LMSetJFetch(UniversalProcPtr value)                                      TWOWORDINLINE(0x21DF, 0x08F4);
  324. #endif  /* CALL_NOT_IN_CARBON */
  325. EXTERN_API( UniversalProcPtr ) LMGetJStash(void)                                            TWOWORDINLINE(0x2EB8, 0x08F8);
  326. EXTERN_API( void ) LMSetJStash(UniversalProcPtr value)                                      TWOWORDINLINE(0x21DF, 0x08F8);
  327. #if CALL_NOT_IN_CARBON
  328. EXTERN_API( UniversalProcPtr ) LMGetJIODone(void)                                           TWOWORDINLINE(0x2EB8, 0x08FC);
  329. EXTERN_API( void ) LMSetJIODone(UniversalProcPtr value)                                     TWOWORDINLINE(0x21DF, 0x08FC);
  330. #endif  /* CALL_NOT_IN_CARBON */
  331. EXTERN_API( SInt16 ) LMGetCurApRefNum(void)                                                 TWOWORDINLINE(0x3EB8, 0x0900);
  332. EXTERN_API( void ) LMSetCurApRefNum(SInt16 value)                                           TWOWORDINLINE(0x31DF, 0x0900);
  333. #if CALL_NOT_IN_CARBON
  334. #if CALL_NOT_IN_CARBON
  335. EXTERN_API( Ptr ) LMGetCurrentA5(void)                                                      TWOWORDINLINE(0x2EB8, 0x0904);
  336. EXTERN_API( void ) LMSetCurrentA5(Ptr value)                                                TWOWORDINLINE(0x21DF, 0x0904);
  337. #endif  /* CALL_NOT_IN_CARBON */
  338. #endif  /* CALL_NOT_IN_CARBON */
  339. EXTERN_API( Ptr ) LMGetCurStackBase(void)                                                   TWOWORDINLINE(0x2EB8, 0x0908);
  340. EXTERN_API( void ) LMSetCurStackBase(Ptr value)                                             TWOWORDINLINE(0x21DF, 0x0908);
  341. #if CALL_NOT_IN_CARBON
  342. EXTERN_API( SInt16 ) LMGetCurJTOffset(void)                                                 TWOWORDINLINE(0x3EB8, 0x0934);
  343. EXTERN_API( void ) LMSetCurJTOffset(SInt16 value)                                           TWOWORDINLINE(0x31DF, 0x0934);
  344. #endif  /* CALL_NOT_IN_CARBON */
  345. EXTERN_API( SInt16 ) LMGetCurPageOption(void)                                               TWOWORDINLINE(0x3EB8, 0x0936);
  346. EXTERN_API( void ) LMSetCurPageOption(SInt16 value)                                         TWOWORDINLINE(0x31DF, 0x0936);
  347. EXTERN_API( UInt8 ) LMGetHiliteMode(void)                                                   TWOWORDINLINE(0x1EB8, 0x0938);
  348. EXTERN_API( void ) LMSetHiliteMode(UInt8 value)                                             TWOWORDINLINE(0x11DF, 0x0938);
  349. EXTERN_API( SInt16 ) LMGetPrintErr(void)                                                    TWOWORDINLINE(0x3EB8, 0x0944);
  350. EXTERN_API( void ) LMSetPrintErr(SInt16 value)                                              TWOWORDINLINE(0x31DF, 0x0944);
  351. #if CALL_NOT_IN_CARBON
  352. /*  Carbon Scrap Manager does not support low memory.*/
  353. #if CALL_NOT_IN_CARBON
  354. EXTERN_API( SInt32 ) LMGetScrapSize(void)                                                   TWOWORDINLINE(0x2EB8, 0x0960);
  355. EXTERN_API( void ) LMSetScrapSize(SInt32 value)                                             TWOWORDINLINE(0x21DF, 0x0960);
  356. EXTERN_API( Handle ) LMGetScrapHandle(void)                                                 TWOWORDINLINE(0x2EB8, 0x0964);
  357. EXTERN_API( void ) LMSetScrapHandle(Handle value)                                           TWOWORDINLINE(0x21DF, 0x0964);
  358. EXTERN_API( SInt16 ) LMGetScrapCount(void)                                                  TWOWORDINLINE(0x3EB8, 0x0968);
  359. EXTERN_API( void ) LMSetScrapCount(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0968);
  360. EXTERN_API( SInt16 ) LMGetScrapState(void)                                                  TWOWORDINLINE(0x3EB8, 0x096A);
  361. EXTERN_API( void ) LMSetScrapState(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x096A);
  362. EXTERN_API( StringPtr ) LMGetScrapName(void)                                                TWOWORDINLINE(0x2EB8, 0x096C);
  363. EXTERN_API( void ) LMSetScrapName(StringPtr value)                                          TWOWORDINLINE(0x21DF, 0x096C);
  364. #endif  /* CALL_NOT_IN_CARBON */
  365. #endif  /* CALL_NOT_IN_CARBON */
  366. #if CALL_NOT_IN_CARBON
  367. EXTERN_API( Handle ) LMGetROMFont0(void)                                                    TWOWORDINLINE(0x2EB8, 0x0980);
  368. EXTERN_API( void ) LMSetROMFont0(Handle value)                                              TWOWORDINLINE(0x21DF, 0x0980);
  369. #endif  /* CALL_NOT_IN_CARBON */
  370. EXTERN_API( SInt16 ) LMGetApFontID(void)                                                    TWOWORDINLINE(0x3EB8, 0x0984);
  371. EXTERN_API( void ) LMSetApFontID(SInt16 value)                                              TWOWORDINLINE(0x31DF, 0x0984);
  372. #if CALL_NOT_IN_CARBON
  373. /* Carbon versions of the Window Manager do not support LowMem. */
  374. /* Carbon Usage: use GetWindowList*/
  375. #if CALL_NOT_IN_CARBON
  376. EXTERN_API( WindowPtr ) LMGetWindowList(void)                                               TWOWORDINLINE(0x2EB8, 0x09D6);
  377. EXTERN_API( SInt16 ) LMGetSaveUpdate(void)                                                  TWOWORDINLINE(0x3EB8, 0x09DA);
  378. EXTERN_API( void ) LMSetSaveUpdate(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x09DA);
  379. EXTERN_API( SInt16 ) LMGetPaintWhite(void)                                                  TWOWORDINLINE(0x3EB8, 0x09DC);
  380. /* Carbon Usage : use InstallWindowContentPaintProc*/
  381. EXTERN_API( void ) LMSetPaintWhite(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x09DC);
  382. EXTERN_API( GrafPtr ) LMGetWMgrPort(void)                                                   TWOWORDINLINE(0x2EB8, 0x09DE);
  383. EXTERN_API( void ) LMSetWMgrPort(GrafPtr value)                                             TWOWORDINLINE(0x21DF, 0x09DE);
  384. /* Carbon Usage: use GetGrayRgn*/
  385. EXTERN_API( RgnHandle ) LMGetGrayRgn(void)                                                  TWOWORDINLINE(0x2EB8, 0x09EE);
  386. EXTERN_API( DragGrayRgnUPP ) LMGetDragHook(void)                                            TWOWORDINLINE(0x2EB8, 0x09F6);
  387. EXTERN_API( void ) LMSetDragHook(DragGrayRgnUPP value)                                      TWOWORDINLINE(0x21DF, 0x09F6);
  388. EXTERN_API( void ) LMSetWindowList(WindowPtr value)                                         TWOWORDINLINE(0x21DF, 0x09D6);
  389. EXTERN_API( WindowPtr ) LMGetGhostWindow(void)                                              TWOWORDINLINE(0x2EB8, 0x0A84);
  390. EXTERN_API( void ) LMSetGhostWindow(WindowPtr value)                                        TWOWORDINLINE(0x21DF, 0x0A84);
  391. #endif  /* CALL_NOT_IN_CARBON */
  392. #if !OPAQUE_TOOLBOX_STRUCTS
  393. #if CALL_NOT_IN_CARBON
  394. EXTERN_API( AuxWinHandle ) LMGetAuxWinHead(void)                                            TWOWORDINLINE(0x2EB8, 0x0CD0);
  395. EXTERN_API( void ) LMSetAuxWinHead(AuxWinHandle value)                                      TWOWORDINLINE(0x21DF, 0x0CD0);
  396. #endif  /* CALL_NOT_IN_CARBON */
  397. #endif  /* !OPAQUE_TOOLBOX_STRUCTS */
  398. #if CALL_NOT_IN_CARBON
  399. EXTERN_API( WindowPtr ) LMGetCurActivate(void)                                              TWOWORDINLINE(0x2EB8, 0x0A64);
  400. EXTERN_API( void ) LMSetCurActivate(WindowPtr value)                                        TWOWORDINLINE(0x21DF, 0x0A64);
  401. EXTERN_API( WindowPtr ) LMGetCurDeactive(void)                                              TWOWORDINLINE(0x2EB8, 0x0A68);
  402. EXTERN_API( void ) LMSetCurDeactive(WindowPtr value)                                        TWOWORDINLINE(0x21DF, 0x0A68);
  403. EXTERN_API( RgnHandle ) LMGetOldStructure(void)                                             TWOWORDINLINE(0x2EB8, 0x09E6);
  404. EXTERN_API( void ) LMSetOldStructure(RgnHandle value)                                       TWOWORDINLINE(0x21DF, 0x09E6);
  405. EXTERN_API( RgnHandle ) LMGetOldContent(void)                                               TWOWORDINLINE(0x2EB8, 0x09EA);
  406. EXTERN_API( void ) LMSetOldContent(RgnHandle value)                                         TWOWORDINLINE(0x21DF, 0x09EA);
  407. EXTERN_API( void ) LMSetGrayRgn(RgnHandle value)                                            TWOWORDINLINE(0x21DF, 0x09EE);
  408. EXTERN_API( RgnHandle ) LMGetSaveVisRgn(void)                                               TWOWORDINLINE(0x2EB8, 0x09F2);
  409. EXTERN_API( void ) LMSetSaveVisRgn(RgnHandle value)                                         TWOWORDINLINE(0x21DF, 0x09F2);
  410. #endif  /* CALL_NOT_IN_CARBON */
  411. #endif  /* CALL_NOT_IN_CARBON */
  412. EXTERN_API( SInt32 ) LMGetOneOne(void)                                                      TWOWORDINLINE(0x2EB8, 0x0A02);
  413. EXTERN_API( void ) LMSetOneOne(SInt32 value)                                                TWOWORDINLINE(0x21DF, 0x0A02);
  414. EXTERN_API( SInt32 ) LMGetMinusOne(void)                                                    TWOWORDINLINE(0x2EB8, 0x0A06);
  415. EXTERN_API( void ) LMSetMinusOne(SInt32 value)                                              TWOWORDINLINE(0x21DF, 0x0A06);
  416. #if CALL_NOT_IN_CARBON
  417. /* Carbon Usage: use GetMenuTrackingData*/
  418. #if CALL_NOT_IN_CARBON
  419. EXTERN_API( SInt16 ) LMGetTopMenuItem(void)                                                 TWOWORDINLINE(0x3EB8, 0x0A0A);
  420. /* Carbon Usage: replaced by MDEF messages and GetMenuTrackingData API*/
  421. EXTERN_API( void ) LMSetTopMenuItem(SInt16 value)                                           TWOWORDINLINE(0x31DF, 0x0A0A);
  422. /* Carbon Usage: use GetMenuTrackingData*/
  423. EXTERN_API( SInt16 ) LMGetAtMenuBottom(void)                                                TWOWORDINLINE(0x3EB8, 0x0A0C);
  424. /* Carbon Usage: replaced by MDEF messages and GetMenuTrackingData API*/
  425. EXTERN_API( void ) LMSetAtMenuBottom(SInt16 value)                                          TWOWORDINLINE(0x31DF, 0x0A0C);
  426. EXTERN_API( Handle ) LMGetMenuList(void)                                                    TWOWORDINLINE(0x2EB8, 0x0A1C);
  427. EXTERN_API( void ) LMSetMenuList(Handle value)                                              TWOWORDINLINE(0x21DF, 0x0A1C);
  428. EXTERN_API( SInt16 ) LMGetMBarEnable(void)                                                  TWOWORDINLINE(0x3EB8, 0x0A20);
  429. EXTERN_API( void ) LMSetMBarEnable(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0A20);
  430. EXTERN_API( SInt16 ) LMGetMenuFlash(void)                                                   TWOWORDINLINE(0x3EB8, 0x0A24);
  431. EXTERN_API( void ) LMSetMenuFlash(SInt16 value)                                             TWOWORDINLINE(0x31DF, 0x0A24);
  432. #endif  /* CALL_NOT_IN_CARBON */
  433. #endif  /* CALL_NOT_IN_CARBON */
  434. EXTERN_API( SInt16 ) LMGetTheMenu(void)                                                     TWOWORDINLINE(0x3EB8, 0x0A26);
  435. #if CALL_NOT_IN_CARBON
  436. #if CALL_NOT_IN_CARBON
  437. EXTERN_API( void ) LMSetTheMenu(SInt16 value)                                               TWOWORDINLINE(0x31DF, 0x0A26);
  438. EXTERN_API( MBarHookUPP ) LMGetMBarHook(void)                                               TWOWORDINLINE(0x2EB8, 0x0A2C);
  439. EXTERN_API( void ) LMSetMBarHook(MBarHookUPP value)                                         TWOWORDINLINE(0x21DF, 0x0A2C);
  440. EXTERN_API( MenuHookUPP ) LMGetMenuHook(void)                                               TWOWORDINLINE(0x2EB8, 0x0A30);
  441. EXTERN_API( void ) LMSetMenuHook(MenuHookUPP value)                                         TWOWORDINLINE(0x21DF, 0x0A30);
  442. EXTERN_API( Handle ) LMGetTopMapHndl(void)                                                  TWOWORDINLINE(0x2EB8, 0x0A50);
  443. EXTERN_API( void ) LMSetTopMapHndl(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0A50);
  444. EXTERN_API( Handle ) LMGetSysMapHndl(void)                                                  TWOWORDINLINE(0x2EB8, 0x0A54);
  445. EXTERN_API( void ) LMSetSysMapHndl(Handle value)                                            TWOWORDINLINE(0x21DF, 0x0A54);
  446. #endif  /* CALL_NOT_IN_CARBON */
  447. #endif  /* CALL_NOT_IN_CARBON */
  448. EXTERN_API( SInt16 ) LMGetSysMap(void)                                                      TWOWORDINLINE(0x3EB8, 0x0A58);
  449. EXTERN_API( void ) LMSetSysMap(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A58);
  450. #if CALL_NOT_IN_CARBON
  451. #if CALL_NOT_IN_CARBON
  452. EXTERN_API( SInt16 ) LMGetCurMap(void)                                                      TWOWORDINLINE(0x3EB8, 0x0A5A);
  453. EXTERN_API( void ) LMSetCurMap(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A5A);
  454. #endif  /* CALL_NOT_IN_CARBON */
  455. #endif  /* CALL_NOT_IN_CARBON */
  456. EXTERN_API( UInt8 ) LMGetResLoad(void)                                                      TWOWORDINLINE(0x1EB8, 0x0A5E);
  457. EXTERN_API( void ) LMSetResLoad(UInt8 value)                                                TWOWORDINLINE(0x11DF, 0x0A5E);
  458. EXTERN_API( SInt16 ) LMGetResErr(void)                                                      TWOWORDINLINE(0x3EB8, 0x0A60);
  459. EXTERN_API( void ) LMSetResErr(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A60);
  460. #if CALL_NOT_IN_CARBON
  461. EXTERN_API( UInt8 ) LMGetFScaleDisable(void)                                                TWOWORDINLINE(0x1EB8, 0x0A63);
  462. EXTERN_API( void ) LMSetFScaleDisable(UInt8 value)                                          TWOWORDINLINE(0x11DF, 0x0A63);
  463. #endif  /* CALL_NOT_IN_CARBON */
  464. #if CALL_NOT_IN_CARBON
  465. #if CALL_NOT_IN_CARBON
  466. EXTERN_API( UniversalProcPtr ) LMGetDeskHook(void)                                          TWOWORDINLINE(0x2EB8, 0x0A6C);
  467. EXTERN_API( void ) LMSetDeskHook(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0A6C);
  468. /* Carbon Usage: Use TEGetDoTextHook.*/
  469. EXTERN_API( UniversalProcPtr ) LMGetTEDoText(void)                                          TWOWORDINLINE(0x2EB8, 0x0A70);
  470. /* Carbon Usage: Use TESetDoTextHook.*/
  471. EXTERN_API( void ) LMSetTEDoText(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0A70);
  472. /* Carbon Usage: Use TEGetRecalcHook.*/
  473. EXTERN_API( UniversalProcPtr ) LMGetTERecal(void)                                           TWOWORDINLINE(0x2EB8, 0x0A74);
  474. /* Carbon Usage: Use TESetRecalcHook.*/
  475. EXTERN_API( void ) LMSetTERecal(UniversalProcPtr value)                                     TWOWORDINLINE(0x21DF, 0x0A74);
  476. EXTERN_API( UniversalProcPtr ) LMGetResumeProc(void)                                        TWOWORDINLINE(0x2EB8, 0x0A8C);
  477. EXTERN_API( void ) LMSetResumeProc(UniversalProcPtr value)                                  TWOWORDINLINE(0x21DF, 0x0A8C);
  478. EXTERN_API( SInt16 ) LMGetANumber(void)                                                     TWOWORDINLINE(0x3EB8, 0x0A98);
  479. EXTERN_API( void ) LMSetANumber(SInt16 value)                                               TWOWORDINLINE(0x31DF, 0x0A98);
  480. /* Carbon Usage: Use GetAlertStage.*/
  481. EXTERN_API( SInt16 ) LMGetACount(void)                                                      TWOWORDINLINE(0x3EB8, 0x0A9A);
  482. /* Carbon Usage: Use ResetAlertStage.*/
  483. EXTERN_API( void ) LMSetACount(SInt16 value)                                                TWOWORDINLINE(0x31DF, 0x0A9A);
  484. EXTERN_API( UniversalProcPtr ) LMGetDABeeper(void)                                          TWOWORDINLINE(0x2EB8, 0x0A9C);
  485. EXTERN_API( void ) LMSetDABeeper(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0A9C);
  486. /* Carbon Usage: use TEGetScrapLength*/
  487. EXTERN_API( UInt16 ) LMGetTEScrpLength(void)                                                TWOWORDINLINE(0x3EB8, 0x0AB0);
  488. /* Carbon Usage: use TESetScrapLength*/
  489. EXTERN_API( void ) LMSetTEScrpLength(UInt16 value)                                          TWOWORDINLINE(0x31DF, 0x0AB0);
  490. /* Carbon Usage: use TEGetScrapHandle*/
  491. EXTERN_API( Handle ) LMGetTEScrpHandle(void)                                                TWOWORDINLINE(0x2EB8, 0x0AB4);
  492. /* Carbon Usage: use TESetScrapHandle*/
  493. EXTERN_API( void ) LMSetTEScrpHandle(Handle value)                                          TWOWORDINLINE(0x21DF, 0x0AB4);
  494. #endif  /* CALL_NOT_IN_CARBON */
  495. #endif  /* CALL_NOT_IN_CARBON */
  496. #if CALL_NOT_IN_CARBON
  497. EXTERN_API( Handle ) LMGetAppParmHandle(void)                                               TWOWORDINLINE(0x2EB8, 0x0AEC);
  498. EXTERN_API( void ) LMSetAppParmHandle(Handle value)                                         TWOWORDINLINE(0x21DF, 0x0AEC);
  499. #endif  /* CALL_NOT_IN_CARBON */
  500. #if CALL_NOT_IN_CARBON
  501. #if CALL_NOT_IN_CARBON
  502. EXTERN_API( SInt16 ) LMGetDSErrCode(void)                                                   TWOWORDINLINE(0x3EB8, 0x0AF0);
  503. EXTERN_API( void ) LMSetDSErrCode(SInt16 value)                                             TWOWORDINLINE(0x31DF, 0x0AF0);
  504. #endif  /* CALL_NOT_IN_CARBON */
  505. #endif  /* CALL_NOT_IN_CARBON */
  506. #if CALL_NOT_IN_CARBON
  507. EXTERN_API( ResErrUPP ) LMGetResErrProc(void)                                               TWOWORDINLINE(0x2EB8, 0x0AF2);
  508. EXTERN_API( void ) LMSetResErrProc(ResErrUPP value)                                         TWOWORDINLINE(0x21DF, 0x0AF2);
  509. #endif  /* CALL_NOT_IN_CARBON */
  510. #if CALL_NOT_IN_CARBON
  511. #if CALL_NOT_IN_CARBON
  512. EXTERN_API( SInt16 ) LMGetDlgFont(void)                                                     TWOWORDINLINE(0x3EB8, 0x0AFA);
  513. /* Carbon Usage: use SetDialogFont*/
  514. EXTERN_API( void ) LMSetDlgFont(SInt16 value)                                               TWOWORDINLINE(0x31DF, 0x0AFA);
  515. #endif  /* CALL_NOT_IN_CARBON */
  516. #endif  /* CALL_NOT_IN_CARBON */
  517. EXTERN_API( Ptr ) LMGetWidthPtr(void)                                                       TWOWORDINLINE(0x2EB8, 0x0B10);
  518. EXTERN_API( void ) LMSetWidthPtr(Ptr value)                                                 TWOWORDINLINE(0x21DF, 0x0B10);
  519. #if CALL_NOT_IN_CARBON
  520. EXTERN_API( Ptr ) LMGetATalkHk2(void)                                                       TWOWORDINLINE(0x2EB8, 0x0B18);
  521. EXTERN_API( void ) LMSetATalkHk2(Ptr value)                                                 TWOWORDINLINE(0x21DF, 0x0B18);
  522. EXTERN_API( SInt16 ) LMGetHWCfgFlags(void)                                                  TWOWORDINLINE(0x3EB8, 0x0B22);
  523. EXTERN_API( void ) LMSetHWCfgFlags(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0B22);
  524. #endif  /* CALL_NOT_IN_CARBON */
  525. EXTERN_API( Handle ) LMGetWidthTabHandle(void)                                              TWOWORDINLINE(0x2EB8, 0x0B2A);
  526. EXTERN_API( void ) LMSetWidthTabHandle(Handle value)                                        TWOWORDINLINE(0x21DF, 0x0B2A);
  527. EXTERN_API( SInt32 ) LMGetLastSPExtra(void)                                                 TWOWORDINLINE(0x2EB8, 0x0B4C);
  528. EXTERN_API( void ) LMSetLastSPExtra(SInt32 value)                                           TWOWORDINLINE(0x21DF, 0x0B4C);
  529. #if CALL_NOT_IN_CARBON
  530. /* Carbon Usage: use GetMenuTrackingData*/
  531. #if CALL_NOT_IN_CARBON
  532. EXTERN_API( SInt32 ) LMGetMenuDisable(void)                                                 TWOWORDINLINE(0x2EB8, 0x0B54);
  533. /* Carbon Usage: use new MDEF messages*/
  534. EXTERN_API( void ) LMSetMenuDisable(SInt32 value)                                           TWOWORDINLINE(0x21DF, 0x0B54);
  535. #endif  /* CALL_NOT_IN_CARBON */
  536. #endif  /* CALL_NOT_IN_CARBON */
  537. #if CALL_NOT_IN_CARBON
  538. EXTERN_API( UInt8 ) LMGetROMMapInsert(void)                                                 TWOWORDINLINE(0x1EB8, 0x0B9E);
  539. EXTERN_API( void ) LMSetROMMapInsert(UInt8 value)                                           TWOWORDINLINE(0x11DF, 0x0B9E);
  540. #endif  /* CALL_NOT_IN_CARBON */
  541. EXTERN_API( UInt8 ) LMGetTmpResLoad(void)                                                   TWOWORDINLINE(0x1EB8, 0x0B9F);
  542. EXTERN_API( void ) LMSetTmpResLoad(UInt8 value)                                             TWOWORDINLINE(0x11DF, 0x0B9F);
  543. EXTERN_API( Ptr ) LMGetIntlSpec(void)                                                       TWOWORDINLINE(0x2EB8, 0x0BA0);
  544. EXTERN_API( void ) LMSetIntlSpec(Ptr value)                                                 TWOWORDINLINE(0x21DF, 0x0BA0);
  545. EXTERN_API( UInt8 ) LMGetWordRedraw(void)                                                   TWOWORDINLINE(0x1EB8, 0x0BA5);
  546. EXTERN_API( void ) LMSetWordRedraw(UInt8 value)                                             TWOWORDINLINE(0x11DF, 0x0BA5);
  547. EXTERN_API( SInt16 ) LMGetSysFontFam(void)                                                  TWOWORDINLINE(0x3EB8, 0x0BA6);
  548. EXTERN_API( void ) LMSetSysFontFam(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0BA6);
  549. EXTERN_API( SInt16 ) LMGetSysFontSize(void)                                                 TWOWORDINLINE(0x3EB8, 0x0BA8);
  550. EXTERN_API( void ) LMSetSysFontSize(SInt16 value)                                           TWOWORDINLINE(0x31DF, 0x0BA8);
  551. #if CALL_NOT_IN_CARBON
  552. /* Carbon Usge: use GetMBarHeight*/
  553. #if CALL_NOT_IN_CARBON
  554. EXTERN_API( SInt16 ) LMGetMBarHeight(void)                                                  TWOWORDINLINE(0x3EB8, 0x0BAA);
  555. /* Carbon Usage: use Hide/ShowMenuBar*/
  556. EXTERN_API( void ) LMSetMBarHeight(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0BAA);
  557. #endif  /* CALL_NOT_IN_CARBON */
  558. #endif  /* CALL_NOT_IN_CARBON */
  559. #if CALL_NOT_IN_CARBON
  560. EXTERN_API( SInt16 ) LMGetTESysJust(void)                                                   TWOWORDINLINE(0x3EB8, 0x0BAC);
  561. EXTERN_API( void ) LMSetTESysJust(SInt16 value)                                             TWOWORDINLINE(0x31DF, 0x0BAC);
  562. #endif  /* CALL_NOT_IN_CARBON */
  563. EXTERN_API( Handle ) LMGetLastFOND(void)                                                    TWOWORDINLINE(0x2EB8, 0x0BC2);
  564. EXTERN_API( void ) LMSetLastFOND(Handle value)                                              TWOWORDINLINE(0x21DF, 0x0BC2);
  565. EXTERN_API( UInt8 ) LMGetFractEnable(void)                                                  TWOWORDINLINE(0x1EB8, 0x0BF4);
  566. EXTERN_API( void ) LMSetFractEnable(UInt8 value)                                            TWOWORDINLINE(0x11DF, 0x0BF4);
  567. #if CALL_NOT_IN_CARBON
  568. EXTERN_API( UInt8 ) LMGetMMU32Bit(void)                                                     TWOWORDINLINE(0x1EB8, 0x0CB2);
  569. EXTERN_API( void ) LMSetMMU32Bit(UInt8 value)                                               TWOWORDINLINE(0x11DF, 0x0CB2);
  570. #endif  /* CALL_NOT_IN_CARBON */
  571. EXTERN_API( GDHandle ) LMGetTheGDevice(void)                                                TWOWORDINLINE(0x2EB8, 0x0CC8);
  572. EXTERN_API( void ) LMSetTheGDevice(GDHandle value)                                          TWOWORDINLINE(0x21DF, 0x0CC8);
  573. #if CALL_NOT_IN_CARBON
  574. #if CALL_NOT_IN_CARBON
  575. EXTERN_API( PixPatHandle ) LMGetDeskCPat(void)                                              TWOWORDINLINE(0x2EB8, 0x0CD8);
  576. EXTERN_API( void ) LMSetDeskCPat(PixPatHandle value)                                        TWOWORDINLINE(0x21DF, 0x0CD8);
  577. #endif  /* CALL_NOT_IN_CARBON */
  578. #endif  /* CALL_NOT_IN_CARBON */
  579. #if CALL_NOT_IN_CARBON
  580. EXTERN_API( SInt16 ) LMGetTimeDBRA(void)                                                    TWOWORDINLINE(0x3EB8, 0x0D00);
  581. EXTERN_API( void ) LMSetTimeDBRA(SInt16 value)                                              TWOWORDINLINE(0x31DF, 0x0D00);
  582. EXTERN_API( SInt16 ) LMGetTimeSCCDB(void)                                                   TWOWORDINLINE(0x3EB8, 0x0D02);
  583. EXTERN_API( void ) LMSetTimeSCCDB(SInt16 value)                                             TWOWORDINLINE(0x31DF, 0x0D02);
  584. EXTERN_API( UniversalProcPtr ) LMGetJVBLTask(void)                                          TWOWORDINLINE(0x2EB8, 0x0D28);
  585. EXTERN_API( void ) LMSetJVBLTask(UniversalProcPtr value)                                    TWOWORDINLINE(0x21DF, 0x0D28);
  586. EXTERN_API( Handle ) LMGetSynListHandle(void)                                               TWOWORDINLINE(0x2EB8, 0x0D32);
  587. EXTERN_API( void ) LMSetSynListHandle(Handle value)                                         TWOWORDINLINE(0x21DF, 0x0D32);
  588. #endif  /* CALL_NOT_IN_CARBON */
  589. #if CALL_NOT_IN_CARBON
  590. #if CALL_NOT_IN_CARBON
  591. EXTERN_API( MCTableHandle ) LMGetMenuCInfo(void)                                            TWOWORDINLINE(0x2EB8, 0x0D50);
  592. EXTERN_API( void ) LMSetMenuCInfo(MCTableHandle value)                                      TWOWORDINLINE(0x21DF, 0x0D50);
  593. #endif  /* CALL_NOT_IN_CARBON */
  594. #endif  /* CALL_NOT_IN_CARBON */
  595. #if CALL_NOT_IN_CARBON
  596. EXTERN_API( UniversalProcPtr ) LMGetJDTInstall(void)                                        TWOWORDINLINE(0x2EB8, 0x0D9C);
  597. EXTERN_API( void ) LMSetJDTInstall(UniversalProcPtr value)                                  TWOWORDINLINE(0x21DF, 0x0D9C);
  598. EXTERN_API( SInt16 ) LMGetTimeSCSIDB(void)                                                  TWOWORDINLINE(0x3EB8, 0x0B24);
  599. EXTERN_API( void ) LMSetTimeSCSIDB(SInt16 value)                                            TWOWORDINLINE(0x31DF, 0x0B24);
  600. /**************************************************************************************
  601.     MORE COMPLEX LOWMEM ACCESSORS
  602. **************************************************************************************/
  603. #endif  /* CALL_NOT_IN_CARBON */
  604. #if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  605. /**************************************************************************************
  606.     "BIG DATA"
  607.     
  608.         These lowmem accessors access big (> 4 bytes) values.
  609. **************************************************************************************/
  610. #define LMGetDSAlertRect(dsAlertRectValue)  (*(dsAlertRectValue) = * (Rect*) 0x03F8)
  611. #define LMSetDSAlertRect(dsAlertRectValue)  ((* (Rect *) 0x03F8) = *(dsAlertRectValue))
  612. #define LMGetDragPattern(dragPatternValue)  (*(dragPatternValue) = * (Pattern *) 0x0A34)
  613. #define LMSetDragPattern(dragPatternValue)  ((* (Pattern *) 0x0A34) = *(dragPatternValue))
  614. #define LMGetDeskPattern(deskPatternValue)  (*(deskPatternValue) = * (Pattern *) 0x0A3C)
  615. #define LMSetDeskPattern(deskPatternValue)  ((* (Pattern *) 0x0A3C) = *(deskPatternValue))
  616. #define LMGetHiliteRGB(hiliteRGBValue)  (*(hiliteRGBValue) = *(RGBColor*)0x0DA0)
  617. #define LMSetHiliteRGB(hiliteRGBValue)  ((* (RGBColor *) 0x0DA0) = *(hiliteRGBValue))
  618. #define LMGetEventQueue()   ( (QHdrPtr) 0x014A)
  619. #define LMSetEventQueue(eventQueueValue)    ((* (QHdrPtr) 0x014A) = *(QHdrPtr)(eventQueueValue))
  620. #define LMGetVBLQueue() ( (QHdrPtr) 0x0160)
  621. #define LMSetVBLQueue(vblQueueValue)    ((* (QHdrPtr) 0x0160) = *(QHdrPtr)(vblQueueValue))
  622. #define LMGetDrvQHdr()  ( (QHdrPtr) 0x0308)
  623. #define LMSetDrvQHdr(drvQHdrValue)  ((* (QHdrPtr) 0x0308) = *(QHdrPtr)(drvQHdrValue))
  624. #define LMGetVCBQHdr()  ( (QHdrPtr) 0x0356)
  625. #define LMSetVCBQHdr(vcbQHdrValue)  ((* (QHdrPtr) 0x0356) = *(QHdrPtr)(vcbQHdrValue))
  626. #define LMGetDTQueue()  ( (QHdrPtr) 0x0D92)
  627. #define LMSetDTQueue(dtQueueValue)  ((* (QHdrPtr) 0x0D92) = *(QHdrPtr)(dtQueueValue))
  628. #define LMGetFSQHdr()   ( (QHdrPtr) 0x0360)
  629. /**************************************************************************************
  630.     "BLOCKMOVE ACCESSORS"
  631.     
  632.         These lowmem accessors use the BlockMove to set
  633. **************************************************************************************/
  634. #define LMGetCurApName()    ((StringPtr) 0x0910)
  635. #define LMSetCurApName(curApNameValue)  (BlockMoveData((Ptr)(curApNameValue), (Ptr)0x0910, sizeof(Str31)))
  636. #define LMGetSysResName()   ( (StringPtr) 0x0AD8)
  637. #define LMSetSysResName(sysResNameValue)    (BlockMoveData((Ptr)(sysResNameValue), (Ptr)0x0AD8, sizeof(Str15)))
  638. #define LMGetFinderName()   ((StringPtr)0x02E0)
  639. #define LMSetFinderName(finderName) (BlockMoveData((Ptr)(finderName), (Ptr)0x02E0, sizeof(Str15)))
  640. #define LMGetScratch20()    ((Ptr) 0x01E4)
  641. #define LMSetScratch20(scratch20Value)  (BlockMoveData((Ptr) (scratch20Value), (Ptr) 0x01E4, 20))
  642. #define LMGetToolScratch()  ((Ptr) 0x09CE)
  643. #define LMSetToolScratch(toolScratchValue)  (BlockMoveData((Ptr)(toolScratchValue), (Ptr) 0x09CE, 8))
  644. #define LMGetApplScratch()  ((Ptr) 0x0A78)
  645. #define LMSetApplScratch(applScratchValue)  (BlockMoveData((Ptr) (applScratchValue), (Ptr) 0x0A78, 12))
  646. /**************************************************************************************
  647.     "INDEXED ACCESSORS"
  648.     
  649.         These lowmem accessors take an index parameter to get/set an indexed
  650.         lowmem global.
  651. **************************************************************************************/
  652. #if CALL_NOT_IN_CARBON
  653. /*************************************************************************************
  654.     The DAString accessors are gone with Carbon. Please use ParamText and
  655.     GetParamText instead.
  656. **************************************************************************************/
  657. #define LMGetDAStrings(whichString) ( ((StringHandle*)0x0AA0)[whichString] )
  658. #define LMSetDAStrings(stringsValue, whichString) ( ((StringHandle*)0x0AA0)[whichString] = (stringsValue) )
  659. #endif  /* CALL_NOT_IN_CARBON */
  660. #define LMGetLvl2DT(vectorNumber)   ( ((UniversalProcPtr*)0x01B2)[vectorNumber] )
  661. #define LMSetLvl2DT(lvl2DTValue, vectorNumber)  ( ((UniversalProcPtr*)0x01B2)[vectorNumber] = (lvl2DTValue) )
  662. #define LMGetExtStsDT(vectorNumber) ( ((UniversalProcPtr*)0x02BE)[vectorNumber] )
  663. #define LMSetExtStsDT(extStsDTValue, vectorNumber)  ( ((UniversalProcPtr*)0x02BE)[vectorNumber] = (extStsDTValue) )
  664. #else
  665. /**************************************************************************************
  666.     "BIG DATA"
  667.     
  668.         These lowmem accessors access big (> 4 bytes) values.
  669. **************************************************************************************/
  670. #if CALL_NOT_IN_CARBON
  671. #if CALL_NOT_IN_CARBON
  672. EXTERN_API( void ) LMGetDSAlertRect(Rect *dsAlertRectValue);
  673. EXTERN_API( void ) LMSetDSAlertRect(const Rect *dsAlertRectValue);
  674. EXTERN_API( void ) LMGetDragPattern(Pattern *dragPatternValue);
  675. EXTERN_API( void ) LMSetDragPattern(const Pattern *dragPatternValue);
  676. EXTERN_API( void ) LMGetDeskPattern(Pattern *deskPatternValue);
  677. EXTERN_API( void ) LMSetDeskPattern(const Pattern *deskPatternValue);
  678. #endif  /* CALL_NOT_IN_CARBON */
  679. #endif  /* CALL_NOT_IN_CARBON */
  680. EXTERN_API( void ) LMGetHiliteRGB(RGBColor *hiliteRGBValue);
  681. EXTERN_API( void ) LMSetHiliteRGB(const RGBColor *hiliteRGBValue);
  682. #if CALL_NOT_IN_CARBON
  683. #if CALL_NOT_IN_CARBON
  684. EXTERN_API( QHdrPtr ) LMGetEventQueue(void );
  685. EXTERN_API( void ) LMSetEventQueue(QHdrPtr eventQueueValue);
  686. #endif  /* CALL_NOT_IN_CARBON */
  687. #endif  /* CALL_NOT_IN_CARBON */
  688. #if CALL_NOT_IN_CARBON
  689. EXTERN_API( QHdrPtr ) LMGetVBLQueue(void );
  690. EXTERN_API( void ) LMSetVBLQueue(QHdrPtr vblQueueValue);
  691. EXTERN_API( QHdrPtr ) LMGetDrvQHdr(void );
  692. EXTERN_API( void ) LMSetDrvQHdr(QHdrPtr drvQHdrValue);
  693. EXTERN_API( QHdrPtr ) LMGetVCBQHdr(void );
  694. EXTERN_API( void ) LMSetVCBQHdr(QHdrPtr vcbQHdrValue);
  695. EXTERN_API( QHdrPtr ) LMGetDTQueue(void );
  696. EXTERN_API( void ) LMSetDTQueue(QHdrPtr dtQueueValue);
  697. EXTERN_API( QHdrPtr ) LMGetFSQHdr(void );
  698. /**************************************************************************************
  699.     "BLOCKMOVE ACCESSORS"
  700.     
  701.         These lowmem accessors use the BlockMove to set
  702. **************************************************************************************/
  703. #endif  /* CALL_NOT_IN_CARBON */
  704. EXTERN_API( StringPtr ) LMGetCurApName(void );
  705. EXTERN_API( void ) LMSetCurApName(ConstStr31Param curApNameValue);
  706. EXTERN_API( StringPtr ) LMGetSysResName(void );
  707. EXTERN_API( void ) LMSetSysResName(ConstStr15Param sysResNameValue);
  708. EXTERN_API( StringPtr ) LMGetFinderName(void );
  709. EXTERN_API( void ) LMSetFinderName(ConstStr15Param finderNameValue);
  710. #if CALL_NOT_IN_CARBON
  711. EXTERN_API( Ptr ) LMGetScratch20(void );
  712. EXTERN_API( void ) LMSetScratch20(const void *scratch20Value);
  713. #endif  /* CALL_NOT_IN_CARBON */
  714. EXTERN_API( Ptr ) LMGetToolScratch(void );
  715. EXTERN_API( void ) LMSetToolScratch(const void *toolScratchValue);
  716. #if CALL_NOT_IN_CARBON
  717. EXTERN_API( Ptr ) LMGetApplScratch(void );
  718. EXTERN_API( void ) LMSetApplScratch(const void *applScratchValue);
  719. /**************************************************************************************
  720.     "INDEXED ACCESSORS"
  721.     
  722.         These lowmem accessors take an index parameter to get/set an indexed
  723.         lowmem global.
  724. **************************************************************************************/
  725. #endif  /* CALL_NOT_IN_CARBON */
  726. #if CALL_NOT_IN_CARBON
  727. /* Carbon Usage: use GetParamText*/
  728. #if CALL_NOT_IN_CARBON
  729. EXTERN_API( StringHandle ) LMGetDAStrings(short whichString);
  730. /* Carbon Usage: use ParamText*/
  731. EXTERN_API( void ) LMSetDAStrings(StringHandle stringsValue, short whichString);
  732. #endif  /* CALL_NOT_IN_CARBON */
  733. #endif  /* CALL_NOT_IN_CARBON */
  734. EXTERN_API( UniversalProcPtr ) LMGetLvl2DT(short vectorNumber);
  735. EXTERN_API( void ) LMSetLvl2DT(UniversalProcPtr Lvl2DTValue, short vectorNumber);
  736. #if CALL_NOT_IN_CARBON
  737. EXTERN_API( UniversalProcPtr ) LMGetExtStsDT(short vectorNumber);
  738. EXTERN_API( void ) LMSetExtStsDT(UniversalProcPtr ExtStsDTValue, short vectorNumber);
  739. #endif  /* CALL_NOT_IN_CARBON */
  740. #endif  /* TARGET_CPU_68K && !TARGET_RT_MAC_CFM */
  741. /**************************************************************************************
  742.     "Missing Accessors"
  743.     
  744.         These lowmem accessors are not in the original InterfaceLib.  They were
  745.         added to InterfaceLib in Mac OS 8.5.  In Universal Interfaces 3.2 they
  746.         were defined via a macro. In you want to use these functions on a pre-8.5
  747.         systems, you must write your own macros to override the function prototype
  748.         or write your own implementation.
  749.     
  750. **************************************************************************************/
  751. /* accesses "CrsrNew"*/
  752. EXTERN_API( Boolean ) LMGetCursorNew(void)                                                  TWOWORDINLINE(0x1EB8, 0x08CE);
  753. EXTERN_API( void ) LMSetCursorNew(Boolean value)                                            TWOWORDINLINE(0x11DF, 0x08CE);
  754. #if CALL_NOT_IN_CARBON
  755. EXTERN_API( void ) LMSetMouseTemp(Point value)                                              TWOWORDINLINE(0x21DF, 0x0828);
  756. #endif  /* CALL_NOT_IN_CARBON */
  757. #if CALL_NOT_IN_CARBON
  758. /* accesses "MTemp"*/
  759. #if CALL_NOT_IN_CARBON
  760. EXTERN_API( Point ) LMGetMouseTemp(void)                                                    TWOWORDINLINE(0x2EB8, 0x0828);
  761. /*
  762.    accesses "MBState"
  763.    Carbon Usage: use Button()
  764. */
  765. EXTERN_API( UInt8 ) LMGetMouseButtonState(void)                                             TWOWORDINLINE(0x1EB8, 0x0172);
  766. EXTERN_API( void ) LMSetMouseButtonState(UInt8 value)                                       TWOWORDINLINE(0x11DF, 0x0172);
  767. /*
  768.    accesses "RawMouse"
  769.    Carbon Usage: use GetGlobalMouse
  770. */
  771. EXTERN_API( Point ) LMGetRawMouseLocation(void)                                             TWOWORDINLINE(0x2EB8, 0x082C);
  772. /* Carbon Usage: use GetGlobalMouse*/
  773. EXTERN_API( void ) LMSetRawMouseLocation(Point value)                                       TWOWORDINLINE(0x21DF, 0x082C);
  774. /*
  775.    accesses "Mouse"
  776.    Carbon Usage: use GetGlobalMouse
  777. */
  778. EXTERN_API( Point ) LMGetMouseLocation(void)                                                TWOWORDINLINE(0x2EB8, 0x0830);
  779. EXTERN_API( void ) LMSetMouseLocation(Point value)                                          TWOWORDINLINE(0x21DF, 0x0830);
  780. /* accesses "TheCrsr"*/
  781. EXTERN_API_C( void ) LMGetTheCursor(Cursor *currentCursor);
  782. EXTERN_API_C( void ) LMSetTheCursor(const Cursor *newCursor);
  783. #endif  /* CALL_NOT_IN_CARBON */
  784. #endif  /* CALL_NOT_IN_CARBON */
  785. /* accesses "HiHeapMark"*/
  786. EXTERN_API( Ptr ) LMGetHighHeapMark(void)                                                   TWOWORDINLINE(0x2EB8, 0x0BAE);
  787. EXTERN_API( void ) LMSetHighHeapMark(Ptr value)                                             TWOWORDINLINE(0x21DF, 0x0BAE);
  788. /* accesses "StkLowPt"*/
  789. EXTERN_API( Ptr ) LMGetStackLowPoint(void)                                                  TWOWORDINLINE(0x2EB8, 0x0110);
  790. EXTERN_API( void ) LMSetStackLowPoint(Ptr value)                                            TWOWORDINLINE(0x21DF, 0x0110);
  791. /* accesses "ROMMapHndl"*/
  792. #if CALL_NOT_IN_CARBON
  793. EXTERN_API( Handle ) LMGetROMMapHandle(void)                                                TWOWORDINLINE(0x2EB8, 0x0B06);
  794. EXTERN_API( void ) LMSetROMMapHandle(Handle value)                                          TWOWORDINLINE(0x21DF, 0x0B06);
  795. /* accesses "UnitNtryCnt"*/
  796. EXTERN_API( short ) LMGetUnitTableEntryCount(void)                                          TWOWORDINLINE(0x3EB8, 0x01D2);
  797. EXTERN_API( void ) LMSetUnitTableEntryCount(short value)                                    TWOWORDINLINE(0x31DF, 0x01D2);
  798. /* accesses "FmtDefaults"*/
  799. #endif  /* CALL_NOT_IN_CARBON */
  800. EXTERN_API( Ptr ) LMGetDiskFormatingHFSDefaults(void)                                       TWOWORDINLINE(0x2EB8, 0x039E);
  801. EXTERN_API( void ) LMSetDiskFormatingHFSDefaults(Ptr value)                                 TWOWORDINLINE(0x21DF, 0x039E);
  802. /* accesses "PortAUse"*/
  803. #if CALL_NOT_IN_CARBON
  804. EXTERN_API( UInt8 ) LMGetPortAInfo(void)                                                    TWOWORDINLINE(0x1EB8, 0x0290);
  805. EXTERN_API( void ) LMSetPortAInfo(UInt8 value)                                              TWOWORDINLINE(0x11DF, 0x0290);
  806. EXTERN_API( long ) LMGetMBTicks(void)                                                       TWOWORDINLINE(0x2EB8, 0x016E);
  807. EXTERN_API( void ) LMSetMBTicks(long value)                                                 TWOWORDINLINE(0x21DF, 0x016E);
  808. EXTERN_API( long ) LMGetKeyTime(void)                                                       TWOWORDINLINE(0x2EB8, 0x0186);
  809. EXTERN_API( void ) LMSetKeyTime(long value)                                                 TWOWORDINLINE(0x21DF, 0x0186);
  810. #endif  /* CALL_NOT_IN_CARBON */
  811. #if PRAGMA_STRUCT_ALIGN
  812.     #pragma options align=reset
  813. #elif PRAGMA_STRUCT_PACKPUSH
  814.     #pragma pack(pop)
  815. #elif PRAGMA_STRUCT_PACK
  816.     #pragma pack()
  817. #endif
  818. #ifdef PRAGMA_IMPORT_OFF
  819. #pragma import off
  820. #elif PRAGMA_IMPORT
  821. #pragma import reset
  822. #endif
  823. #ifdef __cplusplus
  824. }
  825. #endif
  826. #endif /* __LOWMEM__ */