home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC6.DMS / in.adf / incl.lha / INCLUDE / clib / commodities_protos.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-29  |  2.2 KB  |  90 lines

  1. #ifndef  CLIB_COMMODITIES_PROTOS_H
  2. #define  CLIB_COMMODITIES_PROTOS_H
  3.  
  4. /*
  5. **    $VER: commodities_protos.h 38.4 (27.2.92)
  6. **    Includes Release 40.15
  7. **
  8. **    C prototypes. For use with 32 bit integers only.
  9. **
  10. **    (C) Copyright 1990-1993 Commodore-Amiga, Inc.
  11. **        All Rights Reserved
  12. */
  13.  
  14. #ifndef  EXEC_TYPES_H
  15. #include <exec/types.h>
  16. #endif
  17. #ifndef  EXEC_NODES_H
  18. #include <exec/nodes.h>
  19. #endif
  20. #ifndef  LIBRARIES_COMMODITIES_H
  21. #include <libraries/commodities.h>
  22. #endif
  23. #ifndef  DEVICES_INPUTEVENT_H
  24. #include <devices/inputevent.h>
  25. #endif
  26. #ifndef  DEVICES_KEYMAP_H
  27. #include <devices/keymap.h>
  28. #endif
  29.  
  30. #ifdef __cplusplus
  31. #define CLIBCPLUSON
  32. #pragma -
  33. #endif
  34.  
  35. /*--- functions in V36 or higher (Release 2.0) ---*/
  36.  
  37. /*  OBJECT UTILITIES */
  38.  
  39. CxObj *CreateCxObj( unsigned long type, long arg1, long arg2 );
  40. CxObj *CxBroker( struct NewBroker *nb, LONG *error );
  41. LONG ActivateCxObj( CxObj *co, long true );
  42. void DeleteCxObj( CxObj *co );
  43. void DeleteCxObjAll( CxObj *co );
  44. ULONG CxObjType( CxObj *co );
  45. LONG CxObjError( CxObj *co );
  46. void ClearCxObjError( CxObj *co );
  47. LONG SetCxObjPri( CxObj *co, long pri );
  48.  
  49. /*  OBJECT ATTACHMENT */
  50.  
  51. void AttachCxObj( CxObj *headObj, CxObj *co );
  52. void EnqueueCxObj( CxObj *headObj, CxObj *co );
  53. void InsertCxObj( CxObj *headObj, CxObj *co, CxObj *pred );
  54. void RemoveCxObj( CxObj *co );
  55.  
  56. /*  TYPE SPECIFIC */
  57.  
  58. void SetTranslate( CxObj *translator, struct InputEvent *events );
  59. void SetFilter( CxObj *filter, STRPTR text );
  60. void SetFilterIX( CxObj *filter, IX *ix );
  61. LONG ParseIX( STRPTR description, IX *ix );
  62.  
  63. /*  COMMON MESSAGE */
  64.  
  65. ULONG CxMsgType( CxMsg *cxm );
  66. APTR CxMsgData( CxMsg *cxm );
  67. LONG CxMsgID( CxMsg *cxm );
  68.  
  69. /*  MESSAGE ROUTING */
  70.  
  71. void DivertCxMsg( CxMsg *cxm, CxObj *headObj, CxObj *returnObj );
  72. void RouteCxMsg( CxMsg *cxm, CxObj *co );
  73. void DisposeCxMsg( CxMsg *cxm );
  74.  
  75. /*  INPUT EVENT HANDLING */
  76.  
  77. BOOL InvertKeyMap( unsigned long ansiCode, struct InputEvent *event,
  78.     struct KeyMap *km );
  79. void AddIEvents( struct InputEvent *events );
  80. /*--- functions in V38 or higher (Release 2.1) ---*/
  81. /*  MORE INPUT EVENT HANDLING */
  82. BOOL MatchIX( struct InputEvent *event, IX *ix );
  83.  
  84. #ifdef CLIBCPLUSON
  85. #undef CLIBCPLUSON
  86. #pragma +
  87. #endif
  88.  
  89. #endif     /* CLIB_COMMODITIES_PROTOS_H */
  90.