grub2: bring back build of aros-side grub2 tools
[AROS.git] / workbench / libs / datatypes / getdttriggermethoddataflags.c
blob68f76a96271326fb885059b5df69782e9de3e402
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc:
6 Lang: English
7 */
9 #include "datatypes_intern.h"
10 #include <proto/exec.h>
12 /*****************************************************************************
14 NAME */
16 AROS_LH1(ULONG, GetDTTriggerMethodDataFlags,
18 /* SYNOPSIS */
19 AROS_LHA(ULONG, method, A0),
22 /* LOCATION */
23 struct Library *, DataTypesBase, 48, DataTypes)
25 /* FUNCTION
27 Get the kind of data that may be attached to the stt_Data field in the
28 dtTrigger method body. The data type can be specified by or:ing the
29 method id (within the STMF_METHOD_MASK value) with one of the STMD_
30 identifiers.
32 STMD_VOID -- stt_Data must be NULL
33 STMD_ULONG -- stt_Data contains an unsigned value
34 STMD_STRPTR -- stt_Data is a pointer to a string
35 STMD_TAGLIST -- stt_Data points to an array of struct TagItem terminated
36 with TAG_DONE
38 The trigger methods below STM_USER are explicitly handled as described in
39 <datatypes/datatypesclass.h>.
41 INPUTS
43 method -- dtt_Method ID from struct DTMethod
45 RESULT
47 One of the STMD_ identifiers defined in <datatypes/datatypesclass.h>
49 NOTES
51 EXAMPLE
53 BUGS
55 SEE ALSO
57 CopyDTTriggerMethods(), FindTriggerMethod()
59 INTERNALS
61 HISTORY
63 5.8.99 SDuvan implemented
65 *****************************************************************************/
67 AROS_LIBFUNC_INIT
69 switch(method)
71 case STM_PAUSE:
72 case STM_PLAY:
73 case STM_CONTENTS:
74 case STM_INDEX:
75 case STM_RETRACE:
76 case STM_BROWSE_PREV:
77 case STM_BROWSE_NEXT:
78 case STM_NEXT_FIELD:
79 case STM_PREV_FIELD:
80 case STM_ACTIVATE_FIELD:
81 case STM_REWIND:
82 case STM_FASTFORWARD:
83 case STM_STOP:
84 case STM_RESUME:
85 return STMD_VOID;
87 case STM_COMMAND:
88 return STMD_STRPTR;
90 case STM_LOCATE:
91 return STMD_ULONG;
93 default:
94 break;
97 /* User defined */
98 return (method & STMF_DATA_MASK) != 0 ? method & STMF_DATA_MASK : STMD_VOID;
100 AROS_LIBFUNC_EXIT
101 } /* GetDTTriggerMethodDataFlags */