Documentation from handextend.h

ROV

Introduction

[top]

ROV - Easy applications from C

Copyright - © Jason Tribbeck / 7th ARM 1994-2001

Contributing authors - Jason Tribbeck

File - handextend.h

Type - subsystem

Description

The handextend subsystem is designed to add handlers for unknown WIMP messages. Each handler can be claimed to be called for a particular WIMP message type and action.

handproc (function pointer)

[top]

Definition of a handextend handler.

Parameters:

 - int type - the WIMP message type (17, 18 or 19)
 - message_block *block - the WIMP message block.

Returns:

 -  non-zero indicating message has been dealt with.

typedef int (*handproc)(int type,
			message_block *block);

handextend_init

[top]

Initialise the handextend subsystem.

Note - Do not claim the HANDLER_MESSAGE, the HANDLER_MESSAGEACK nor the HANDLER_ACKNLOWEDGE in main.h if you want to use the handextend subsystem.

void handextend_init(void);

See also: main.h

handextend_claim

[top]

Claim a handextend handler.

Parameters:

 - int action - the WIMP action to claim on.
 - int type_flags - defines which WIMP message types are applicable.
 - handproc handler - the handler function.

Note - You can have many of these, as they are kept in a linked list.

void handextend_claim(int action,
		      int type_flags,
		      handproc handler);

See also: WIMP message type flags

handextend_release

[top]

Release a handextend handler.

Parameters:

 - int action - the WIMP action to claim on.
 - int type_flags - defines which WIMP message types are applicable.
 - handproc handler - the handler function.

Note - All of these must match exactly for it to be released.

void handextend_release(int action,
			int type_flags,
			handproc handler);

See also: WIMP message type flags

WIMP message type flags

[top]

These are bitfields to generate the type_flags in handextend_claim() and handextend_release()

#define HANDEXTEND_MESSAGE	(1<<0)
#define HANDEXTEND_MESSAGEACK	(1<<1)
#define HANDEXTEND_ACKNOWLEDGE	(1<<2)

See also: handextend_claim(), handextend_release()


Generated Thu Feb 7 23:22:51 2002