From 85e70c1b8d38b337d95ff5f5214b3bc545b9f440 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Thu, 15 Apr 2004 20:25:44 +0000 Subject: [PATCH] add functions for setting session variables --- ipmitool/src/plugins/ipmi_intf.c | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/ipmitool/src/plugins/ipmi_intf.c b/ipmitool/src/plugins/ipmi_intf.c index fff2026..a3510bb 100644 --- a/ipmitool/src/plugins/ipmi_intf.c +++ b/ipmitool/src/plugins/ipmi_intf.c @@ -132,3 +132,45 @@ struct ipmi_intf * ipmi_intf_load(char * name) return intf; } + +int ipmi_intf_session_set_hostname(struct ipmi_intf * intf, char * hostname) +{ + if (!intf || !intf->session) + return -1; + memset(intf->session->hostname, 0, 16); + memcpy(intf->session->hostname, hostname, min(strlen(hostname), 64)); +} + +int ipmi_intf_session_set_username(struct ipmi_intf * intf, char * username) +{ + if (!intf || !intf->session) + return -1; + memset(intf->session->username, 0, 16); + memcpy(intf->session->username, username, min(strlen(username), 16)); +} + +int ipmi_intf_session_set_password(struct ipmi_intf * intf, char * password) +{ + if (!intf || !intf->session) + return -1; + memset(intf->session->authcode, 0, 16); + if (password) { + intf->session->password = 1; + memcpy(intf->session->authcode, password, min(strlen(password), 16)); + } +} + +int ipmi_intf_session_set_privlvl(struct ipmi_intf * intf, unsigned char level) +{ + if (!intf || !intf->session) + return -1; + if (!intf->session->privlvl) + intf->session->privlvl = level; +} + +int ipmi_intf_session_set_port(struct ipmi_intf * intf, int port) +{ + if (!intf || !intf->session) + return -1; + intf->session->port = port; +}