1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include "devices.h"
#include "stream.h"
#ifndef __HANDSHAKE_H
#define __HANDSHAKE_H
#define EXPAND_AS_ENUM(a, b) a,
#define EXPAND_AS_JUMPTABLE(a, b) b,
#define EXPAND_AS_PROTOTYPES(a, b) hs_status_t b(p_stream_t, void**);
typedef hs_status_t (*hs_func_t)(p_stream_t, void**);
#define HS_STATE_TABLE(ENTRY) \
ENTRY(HS_STATE_0, HS_func_0) \
ENTRY(HS_STATE_1, HS_func_1) \
ENTRY(HS_STATE_2, HS_func_2) \
ENTRY(HS_STATE_3, HS_func_3) \
enum {
HS_STATE_TABLE(EXPAND_AS_ENUM)
NUM_STATES,
HS_STATE_FAIL,
HS_STATE_SUCCESS,
};
HS_STATE_TABLE(EXPAND_AS_PROTOTYPES);
#endif /* __HANDSHAKE_H */
|