]> git.ipfire.org Git - people/ms/rstp.git/blame - ctl_cli_wrap.c
Initial commit
[people/ms/rstp.git] / ctl_cli_wrap.c
CommitLineData
ad02a0eb
SH
1/*****************************************************************************
2 Copyright (c) 2006 EMC Corporation.
3
4 This program is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 2 of the License, or (at your option)
7 any later version.
8
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 more details.
13
14 You should have received a copy of the GNU General Public License along with
15 this program; if not, write to the Free Software Foundation, Inc., 59
16 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18 The full GNU General Public License is included in this distribution in the
19 file called LICENSE.
20
21 Authors: Srinivas Aji <Aji_Srinivas@emc.com>
22
23******************************************************************************/
24
25#include "ctl_functions.h"
26#include "ctl_socket.h"
27#include "ctl_socket_client.h"
28#include "log.h"
29
30CLIENT_SIDE_FUNCTION(enable_bridge_rstp)
31CLIENT_SIDE_FUNCTION(get_bridge_state)
32CLIENT_SIDE_FUNCTION(set_bridge_config)
33CLIENT_SIDE_FUNCTION(get_port_state)
34CLIENT_SIDE_FUNCTION(set_port_config)
35CLIENT_SIDE_FUNCTION(set_debug_level)
36
37#include <base.h>
38
39const char *CTL_error_explanation (int err_no)
40{
41#define CHOOSE(a) #a
42 static const char* rstp_error_names[] = RSTP_ERRORS;
43 static const char *ctl_error_names[] = { CTL_ERRORS };
44
45#undef CHOOSE
46 if (err_no < 0)
47 return "Error doing ctl command";
48 else if (err_no >= STP_OK && err_no < STP_LAST_DUMMY)
49 return rstp_error_names[err_no];
50 else if (err_no > Err_Dummy_Start && err_no < Err_Dummy_End)
51 return ctl_error_names[err_no - Err_Dummy_Start - 1];
52
53 static char buf[32];
54 sprintf(buf, "Unknown error code %d", err_no);
55 return buf;
56}
57
58void Dprintf(int level, const char* fmt, ...)
59{
60 char logbuf[256];
61 logbuf[sizeof(logbuf) - 1] = 0;
62 va_list ap;
63 va_start(ap, fmt);
64 vsnprintf(logbuf, sizeof(logbuf) - 1, fmt, ap);
65 va_end(ap);
66 printf("%s\n", logbuf);
67}