Annotation of embedaddon/mtr/packet/command.h, revision 1.1
1.1 ! misho 1: /*
! 2: mtr -- a network diagnostic tool
! 3: Copyright (C) 2016 Matt Kimball
! 4:
! 5: This program is free software; you can redistribute it and/or modify
! 6: it under the terms of the GNU General Public License version 2 as
! 7: published by the Free Software Foundation.
! 8:
! 9: This program is distributed in the hope that it will be useful,
! 10: but WITHOUT ANY WARRANTY; without even the implied warranty of
! 11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 12: GNU General Public License for more details.
! 13:
! 14: You should have received a copy of the GNU General Public License
! 15: along with this program; if not, write to the Free Software
! 16: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
! 17: */
! 18:
! 19: #ifndef COMMAND_H
! 20: #define COMMAND_H
! 21:
! 22: #include "platform.h"
! 23: #include "probe.h"
! 24:
! 25: #define COMMAND_BUFFER_SIZE 4096
! 26:
! 27: #ifdef PLATFORM_CYGWIN
! 28: #include "command_cygwin.h"
! 29: #else
! 30: #include "command_unix.h"
! 31: #endif
! 32:
! 33: /* Storage for incoming commands, prior to command parsing */
! 34: struct command_buffer_t {
! 35: /* The file descriptor of the incoming command stream */
! 36: int command_stream;
! 37:
! 38: /* Storage to read commands into */
! 39: char incoming_buffer[COMMAND_BUFFER_SIZE];
! 40:
! 41: /* The number of bytes read so far in incoming_buffer */
! 42: int incoming_read_position;
! 43:
! 44: /* Platform specific */
! 45: struct command_buffer_platform_t platform;
! 46: };
! 47:
! 48: void init_command_buffer(
! 49: struct command_buffer_t *command_buffer,
! 50: int command_stream);
! 51:
! 52: int read_commands(
! 53: struct command_buffer_t *buffer);
! 54:
! 55: void dispatch_buffer_commands(
! 56: struct command_buffer_t *buffer,
! 57: struct net_state_t *net_state);
! 58:
! 59: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>