Sync with 5.1.0
[deliverable/titan.core.git] / compiler2 / ttcn3 / signature.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Copyright (c) 2000-2014 Ericsson Telecom AB
3 // All rights reserved. This program and the accompanying materials
4 // are made available under the terms of the Eclipse Public License v1.0
5 // which accompanies this distribution, and is available at
6 // http://www.eclipse.org/legal/epl-v10.html
7 ///////////////////////////////////////////////////////////////////////////////
8 #ifndef SIGNATURE_H
9 #define SIGNATURE_H
10
11 #include "../datatypes.h"
12 #include "compiler.h"
13
14 /* data structures for signature definitions */
15
16 typedef enum { PAR_IN, PAR_OUT, PAR_INOUT } signature_par_direction;
17
18 typedef struct {
19 signature_par_direction direction;
20 const char *type;
21 const char *name;
22 const char *dispname;
23 } signature_par;
24
25 typedef struct {
26 size_t nElements;
27 signature_par *elements;
28 } signature_par_list;
29
30 typedef struct {
31 const char *name;
32 const char *dispname;
33 const char *altname;
34 } signature_exception;
35
36 typedef struct {
37 size_t nElements;
38 signature_exception *elements;
39 } signature_exception_list;
40
41 typedef struct {
42 const char *name;
43 const char *dispname;
44 signature_par_list parameters;
45 const char *return_type;
46 boolean is_noblock;
47 signature_exception_list exceptions;
48 } signature_def;
49
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53
54 void defSignatureClasses(const signature_def *sdef, output_struct *output);
55
56 #ifdef __cplusplus
57 }
58 #endif
59
60 #endif
This page took 0.032497 seconds and 5 git commands to generate.