1*f5e30c24Smartijn /* $OpenBSD: usm.h,v 1.3 2019/09/18 09:54:36 martijn Exp $ */ 2b89ba26fSmartijn 3b89ba26fSmartijn /* 4b89ba26fSmartijn * Copyright (c) 2019 Martijn van Duren <martijn@openbsd.org> 5b89ba26fSmartijn * 6b89ba26fSmartijn * Permission to use, copy, modify, and distribute this software for any 7b89ba26fSmartijn * purpose with or without fee is hereby granted, provided that the above 8b89ba26fSmartijn * copyright notice and this permission notice appear in all copies. 9b89ba26fSmartijn * 10b89ba26fSmartijn * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11b89ba26fSmartijn * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12b89ba26fSmartijn * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13b89ba26fSmartijn * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14b89ba26fSmartijn * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15b89ba26fSmartijn * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16b89ba26fSmartijn * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17b89ba26fSmartijn */ 18b89ba26fSmartijn 19b89ba26fSmartijn #include "snmp.h" 20b89ba26fSmartijn 214f098f75Smartijn enum usm_key_level { 224f098f75Smartijn USM_KEY_UNSET = 0, 234f098f75Smartijn USM_KEY_PASSWORD, 244f098f75Smartijn USM_KEY_MASTER, 254f098f75Smartijn USM_KEY_LOCALIZED 264f098f75Smartijn }; 274f098f75Smartijn 28b89ba26fSmartijn struct snmp_sec *usm_init(const char *, size_t); 294f098f75Smartijn int usm_setauth(struct snmp_sec *, const EVP_MD *, const char *, size_t, 304f098f75Smartijn enum usm_key_level); 31*f5e30c24Smartijn int usm_setpriv(struct snmp_sec *, const EVP_CIPHER *, const char *, size_t, 32*f5e30c24Smartijn enum usm_key_level); 33b89ba26fSmartijn int usm_setengineid(struct snmp_sec *, char *, size_t); 34b89ba26fSmartijn int usm_setbootstime(struct snmp_sec *, uint32_t, uint32_t); 35