Annotation of src/usr.bin/ssh/opacket.h, Revision 1.12
1.12 ! djm 1: /* $OpenBSD$ */
1.1 markus 2: #ifndef _OPACKET_H
3: /* Written by Markus Friedl. Placed in the public domain. */
4:
5: /* Map old to new API */
6: void ssh_packet_start(struct ssh *, u_char);
7: void ssh_packet_put_char(struct ssh *, int ch);
8: void ssh_packet_put_int(struct ssh *, u_int value);
9: void ssh_packet_put_int64(struct ssh *, u_int64_t value);
10: void ssh_packet_put_bignum2(struct ssh *, BIGNUM * value);
11: void ssh_packet_put_ecpoint(struct ssh *, const EC_GROUP *, const EC_POINT *);
12: void ssh_packet_put_string(struct ssh *, const void *buf, u_int len);
13: void ssh_packet_put_cstring(struct ssh *, const char *str);
14: void ssh_packet_put_raw(struct ssh *, const void *buf, u_int len);
15: void ssh_packet_send(struct ssh *);
16:
17: u_int ssh_packet_get_char(struct ssh *);
18: u_int ssh_packet_get_int(struct ssh *);
19: u_int64_t ssh_packet_get_int64(struct ssh *);
20: void ssh_packet_get_bignum2(struct ssh *, BIGNUM * value);
21: void ssh_packet_get_ecpoint(struct ssh *, const EC_GROUP *, EC_POINT *);
22: void *ssh_packet_get_string(struct ssh *, u_int *length_ptr);
23: char *ssh_packet_get_cstring(struct ssh *, u_int *length_ptr);
24:
25: /* don't allow remaining bytes after the end of the message */
26: #define ssh_packet_check_eom(ssh) \
27: do { \
28: int _len = ssh_packet_remaining(ssh); \
29: if (_len > 0) { \
30: logit("Packet integrity error (%d bytes remaining) at %s:%d", \
31: _len ,__FILE__, __LINE__); \
32: ssh_packet_disconnect(ssh, \
33: "Packet integrity error."); \
34: } \
35: } while (0)
36:
37: /* old API */
38: void packet_close(void);
39: u_int packet_get_char(void);
40: u_int packet_get_int(void);
41: void packet_set_connection(int, int);
42: int packet_read_seqnr(u_int32_t *);
43: int packet_read_poll_seqnr(u_int32_t *);
1.2 djm 44: void packet_process_incoming(const char *buf, u_int len);
1.3 djm 45: void packet_write_wait(void);
46: void packet_write_poll(void);
47: void packet_read_expect(int expected_type);
1.1 markus 48: #define packet_set_timeout(timeout, count) \
49: ssh_packet_set_timeout(active_state, (timeout), (count))
50: #define packet_connection_is_on_socket() \
51: ssh_packet_connection_is_on_socket(active_state)
52: #define packet_set_nonblocking() \
53: ssh_packet_set_nonblocking(active_state)
54: #define packet_get_connection_in() \
55: ssh_packet_get_connection_in(active_state)
56: #define packet_get_connection_out() \
57: ssh_packet_get_connection_out(active_state)
58: #define packet_set_protocol_flags(protocol_flags) \
59: ssh_packet_set_protocol_flags(active_state, (protocol_flags))
60: #define packet_get_protocol_flags() \
61: ssh_packet_get_protocol_flags(active_state)
62: #define packet_start_compression(level) \
63: ssh_packet_start_compression(active_state, (level))
64: #define packet_start(type) \
65: ssh_packet_start(active_state, (type))
66: #define packet_put_char(value) \
67: ssh_packet_put_char(active_state, (value))
68: #define packet_put_int(value) \
69: ssh_packet_put_int(active_state, (value))
70: #define packet_put_int64(value) \
71: ssh_packet_put_int64(active_state, (value))
72: #define packet_put_string( buf, len) \
73: ssh_packet_put_string(active_state, (buf), (len))
74: #define packet_put_cstring(str) \
75: ssh_packet_put_cstring(active_state, (str))
76: #define packet_put_raw(buf, len) \
77: ssh_packet_put_raw(active_state, (buf), (len))
78: #define packet_put_bignum2(value) \
79: ssh_packet_put_bignum2(active_state, (value))
80: #define packet_send() \
81: ssh_packet_send(active_state)
82: #define packet_read() \
83: ssh_packet_read(active_state)
84: #define packet_get_int64() \
85: ssh_packet_get_int64(active_state)
86: #define packet_get_bignum2(value) \
87: ssh_packet_get_bignum2(active_state, (value))
88: #define packet_remaining() \
89: ssh_packet_remaining(active_state)
90: #define packet_get_string(length_ptr) \
91: ssh_packet_get_string(active_state, (length_ptr))
92: #define packet_get_string_ptr(length_ptr) \
93: ssh_packet_get_string_ptr(active_state, (length_ptr))
94: #define packet_get_cstring(length_ptr) \
95: ssh_packet_get_cstring(active_state, (length_ptr))
96: #define packet_send_debug(fmt, args...) \
97: ssh_packet_send_debug(active_state, (fmt), ##args)
98: #define packet_disconnect(fmt, args...) \
99: ssh_packet_disconnect(active_state, (fmt), ##args)
100: #define packet_have_data_to_write() \
101: ssh_packet_have_data_to_write(active_state)
102: #define packet_not_very_much_data_to_write() \
103: ssh_packet_not_very_much_data_to_write(active_state)
104: #define packet_set_interactive(interactive, qos_interactive, qos_bulk) \
105: ssh_packet_set_interactive(active_state, (interactive), (qos_interactive), (qos_bulk))
106: #define packet_is_interactive() \
107: ssh_packet_is_interactive(active_state)
108: #define packet_set_maxsize(s) \
109: ssh_packet_set_maxsize(active_state, (s))
110: #define packet_inc_alive_timeouts() \
111: ssh_packet_inc_alive_timeouts(active_state)
112: #define packet_set_alive_timeouts(ka) \
113: ssh_packet_set_alive_timeouts(active_state, (ka))
114: #define packet_get_maxsize() \
115: ssh_packet_get_maxsize(active_state)
116: #define packet_add_padding(pad) \
117: sshpkt_add_padding(active_state, (pad))
118: #define packet_send_ignore(nbytes) \
119: ssh_packet_send_ignore(active_state, (nbytes))
120: #define packet_set_server() \
121: ssh_packet_set_server(active_state)
122: #define packet_set_authenticated() \
123: ssh_packet_set_authenticated(active_state)
124: #define packet_get_input() \
125: ssh_packet_get_input(active_state)
126: #define packet_get_output() \
127: ssh_packet_get_output(active_state)
128: #define packet_check_eom() \
129: ssh_packet_check_eom(active_state)
130: #define set_newkeys(mode) \
131: ssh_set_newkeys(active_state, (mode))
132: #define packet_get_state(m) \
133: ssh_packet_get_state(active_state, m)
134: #define packet_set_state(m) \
135: ssh_packet_set_state(active_state, m)
136: #define packet_get_raw(lenp) \
137: sshpkt_ptr(active_state, lenp)
138: #define packet_get_ecpoint(c,p) \
139: ssh_packet_get_ecpoint(active_state, c, p)
140: #define packet_put_ecpoint(c,p) \
141: ssh_packet_put_ecpoint(active_state, c, p)
142: #define packet_get_rekey_timeout() \
143: ssh_packet_get_rekey_timeout(active_state)
144: #define packet_set_rekey_limits(x,y) \
145: ssh_packet_set_rekey_limits(active_state, x, y)
146: #define packet_get_bytes(x,y) \
147: ssh_packet_get_bytes(active_state, x, y)
1.9 markus 148: #define packet_set_mux() \
149: ssh_packet_set_mux(active_state)
150: #define packet_get_mux() \
151: ssh_packet_get_mux(active_state)
1.11 markus 152: #define packet_clear_keys() \
153: ssh_packet_clear_keys(active_state)
1.1 markus 154:
155: #endif /* _OPACKET_H */