]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/rdi-share/chanpriv.h
Initial creation of sourceware repository
[thirdparty/binutils-gdb.git] / gdb / rdi-share / chanpriv.h
1 /*
2 * Copyright (C) 1995 Advanced RISC Machines Limited. All rights reserved.
3 *
4 * This software may be freely used, copied, modified, and distributed
5 * provided that the above copyright notice is preserved in all copies of the
6 * software.
7 */
8
9 /* -*-C-*-
10 *
11 * $Revision$
12 * $Date$
13 *
14 *
15 * Project: ANGEL
16 *
17 * Title: Private header for channels implementations
18 */
19
20 #ifndef angel_chanpriv_h
21 #define angel_chanpriv_h
22
23 /*
24 * This describes the internal structure and flags for a channels packet.
25 */
26
27 /* byte positions within channel packet */
28 #define CF_CHANNEL_BYTE_POS 0
29 #define CF_HOME_SEQ_BYTE_POS 1
30 #define CF_OPPO_SEQ_BYTE_POS 2
31 #define CF_FLAGS_BYTE_POS 3
32 #define CF_DATA_BYTE_POS 4
33
34 /* flags for FLAGS field */
35 #define CF_RELIABLE (1 << 0) /* use reliable channels protocol */
36 #define CF_RESEND (1 << 1) /* this is a renegotiation packet */
37 #define CF_HEARTBEAT (1 << 2) /* heartbeat packet - prod target into sync */
38
39 /* byte positions within buffer */
40 #define CB_LINK_BYTE_POS 0 /* the link pointer */
41 #define CB_CHAN_HEADER_BYTE_POS 4 /* the channel frame starts here */
42
43 /* macro to get buffer position of packet component */
44 #define CB_PACKET(x) (CB_CHAN_HEADER_BYTE_POS + (x))
45
46 /* byte offset of packet data within buffer */
47 #define CB_CHAN_DATA_BYTE_POS (CB_PACKET(CF_DATA_BYTE_POS))
48
49 /* access the link in a buffer, where b is byte pointer to buffer */
50 #define CB_LINK(b) ((p_Buffer)(&(b)[0]))
51
52 #define invalidChannelID(chan) (((int)(chan)) < 0 || \
53 (chan) >= CI_NUM_CHANNELS)
54
55 #endif /* ndef angel_chanpriv_h */
56
57 /* EOF chanpriv.h */