MessageHeader action

Jan-Jaap van der Geer jjvdgeer at inbox.com
Sat Oct 10 16:47:41 BST 2009


I was surprised to see this:

//System messages (these are a big union for Wimp_SendMessage)
CONST
   Message_Quit          = .Bits: 0,
   Message_DataSave      = .Bits: 1,
   Message_DataSaveAck   = .Bits: 2,
   Message_DataLoad      = .Bits: 3,
   Message_DataLoadAck   = .Bits: 4,
   Message_DataOpen      = .Bits: 5,
   Message_RAMFetch      = .Bits: 6,
   Message_RAMTransmit   = .Bits: 7,
   Message_Prequit       = .Bits: 8,
   Message_PreQuit       = .Bits: 8,  // V6.21 TV
   Message_PaletteChange = .Bits: 9,
   Message_SaveDesktop   = .Bits: 10,
   Message_DeviceClaim   = .Bits: 11,
   Message_DeviceInUse   = .Bits: 12,
   Message_DataSaved     = .Bits: 13,
   Message_Shutdown      = .Bits: 14,
   Message_ClaimEntity   = .Bits: 15,
   Message_DataRequest   = .Bits: 16,
   Message_Dragging      = .Bits: 17,
   Message_DragClaim     = .Bits: 18,
   Message_ReleaseEntity = .Bits: 19,
   Message_AppControl    = .Bits: 21;

...

// Generic Wimp Message Header TYPE Wimp_MessageHeader =
   .Struct
   (
      .Int:   size     "Message size",
      Wimp_T: sender   "Sender of message - set by the Wimp",
      .Int:   my_ref   "My reference - set by the Wimp",
      .Int:   your_ref "Your reference - 0 if not a reply",
      .Bits:  action,
      .Byte:  data ...
   );


Any reason why action is defined just as a "bits" and not its own
specialised (enum) type like most other things?

I suppose it wouldn't break things if it were introduced now?

Cheers,
Jan-Jaap



More information about the oslib-user mailing list