Sync with 5.1.0
[deliverable/titan.core.git] / compiler2 / ttcn3 / signature.h
CommitLineData
970ed795
EL
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
16typedef enum { PAR_IN, PAR_OUT, PAR_INOUT } signature_par_direction;
17
18typedef struct {
19 signature_par_direction direction;
20 const char *type;
21 const char *name;
22 const char *dispname;
23} signature_par;
24
25typedef struct {
26 size_t nElements;
27 signature_par *elements;
28} signature_par_list;
29
30typedef struct {
31 const char *name;
32 const char *dispname;
33 const char *altname;
34} signature_exception;
35
36typedef struct {
37 size_t nElements;
38 signature_exception *elements;
39} signature_exception_list;
40
41typedef 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
51extern "C" {
52#endif
53
54void defSignatureClasses(const signature_def *sdef, output_struct *output);
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif
This page took 0.025891 seconds and 5 git commands to generate.