2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
10 # ifndef MTTRANSFERACTION_H
11 # define MTTRANSFERACTION_H
13 struct s_mtTransferAction {
14 enum { MTAK_VALUE, MTAK_ERROR } kind;
15 cstring value; /* for MTAK_VALUE only */
20 extern void mtTransferAction_free (/*@only@*/ mtTransferAction p_node) ;
22 extern cstring mtTransferAction_unparse (mtTransferAction p_node) /*@*/ ;
24 extern mtTransferAction
25 mtTransferAction_createValue (/*@only@*/ mttok p_value) /*@*/ ;
27 extern /*@observer@*/ cstring mtTransferAction_getValue (mtTransferAction) /*@*/ ;
28 # define mtTransferAction_getValue(node) ((node)->value)
30 extern /*@observer@*/ fileloc mtTransferAction_getLoc (mtTransferAction) /*@*/ ;
31 # define mtTransferAction_getLoc(node) ((node)->loc)
33 extern /*@observer@*/ cstring mtTransferAction_getMessage (mtTransferAction) /*@*/ ;
35 extern bool mtTransferAction_isError (mtTransferAction) /*@*/ ;
36 # define mtTransferAction_isError(node) ((node)->kind == MTAK_ERROR)
38 extern mtTransferAction mtTransferAction_createError (/*@only@*/ mttok) /*@*/ ;
40 extern mtTransferAction
41 mtTransferAction_createErrorMessage (/*@only@*/ mttok p_message) /*@*/ ;
44 # error "Multiple include"