]>
git.ipfire.org Git - people/ms/rstp.git/blob - ctl_cli_wrap.c
1 /*****************************************************************************
2 Copyright (c) 2006 EMC Corporation.
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)
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
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.
18 The full GNU General Public License is included in this distribution in the
21 Authors: Srinivas Aji <Aji_Srinivas@emc.com>
23 ******************************************************************************/
25 #include "ctl_functions.h"
26 #include "ctl_socket.h"
27 #include "ctl_socket_client.h"
30 CLIENT_SIDE_FUNCTION(enable_bridge_rstp
)
31 CLIENT_SIDE_FUNCTION(get_bridge_state
)
32 CLIENT_SIDE_FUNCTION(set_bridge_config
)
33 CLIENT_SIDE_FUNCTION(get_port_state
)
34 CLIENT_SIDE_FUNCTION(set_port_config
)
35 CLIENT_SIDE_FUNCTION(set_debug_level
)
37 const char *CTL_error_explanation(int err_no
)
40 static const char *rstp_error_names
[] = RSTP_ERRORS
;
41 static const char *ctl_error_names
[] = { CTL_ERRORS
};
45 return "Error doing ctl command";
46 else if (err_no
>= STP_OK
&& err_no
< STP_LAST_DUMMY
)
47 return rstp_error_names
[err_no
];
48 else if (err_no
> Err_Dummy_Start
&& err_no
< Err_Dummy_End
)
49 return ctl_error_names
[err_no
- Err_Dummy_Start
- 1];
52 sprintf(buf
, "Unknown error code %d", err_no
);
56 void Dprintf(int level
, const char *fmt
, ...)
59 logbuf
[sizeof(logbuf
) - 1] = 0;
62 vsnprintf(logbuf
, sizeof(logbuf
) - 1, fmt
, ap
);
64 printf("%s\n", logbuf
);