<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- ct_snmp</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/common_test-1.12.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>Common Test</strong><br><strong>Reference Manual</strong><br><small>Version 1.12</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p> <ul class="flipMenu"> <li id="no" title="common_test " expanded="false">common_test<ul> <li><a href="common_test.html"> Top of manual page </a></li> <li title="Module:all-0"><a href="common_test.html#Module:all-0">Module:all/0</a></li> <li title="Module:groups-0"><a href="common_test.html#Module:groups-0">Module:groups/0</a></li> <li title="Module:suite-0"><a href="common_test.html#Module:suite-0">Module:suite/0</a></li> <li title="Module:init_per_suite-1"><a href="common_test.html#Module:init_per_suite-1">Module:init_per_suite/1</a></li> <li title="Module:end_per_suite-1"><a href="common_test.html#Module:end_per_suite-1">Module:end_per_suite/1</a></li> <li title="Module:group-1"><a href="common_test.html#Module:group-1">Module:group/1</a></li> <li title="Module:init_per_group-2"><a href="common_test.html#Module:init_per_group-2">Module:init_per_group/2</a></li> <li title="Module:end_per_group-2"><a href="common_test.html#Module:end_per_group-2">Module:end_per_group/2</a></li> <li title="Module:init_per_testcase-2"><a href="common_test.html#Module:init_per_testcase-2">Module:init_per_testcase/2</a></li> <li title="Module:end_per_testcase-2"><a href="common_test.html#Module:end_per_testcase-2">Module:end_per_testcase/2</a></li> <li title="Module:Testcase-0"><a href="common_test.html#Module:Testcase-0">Module:Testcase/0</a></li> <li title="Module:Testcase-1"><a href="common_test.html#Module:Testcase-1">Module:Testcase/1</a></li> </ul> </li> <li title="ct_run"><a href="ct_run.html">ct_run</a></li> <li id="no" title="ct " expanded="false">ct<ul> <li><a href="ct.html"> Top of manual page </a></li> <li title="abort_current_testcase-1"><a href="ct.html#abort_current_testcase-1">abort_current_testcase/1</a></li> <li title="add_config-2"><a href="ct.html#add_config-2">add_config/2</a></li> <li title="break-1"><a href="ct.html#break-1">break/1</a></li> <li title="break-2"><a href="ct.html#break-2">break/2</a></li> <li title="capture_get-0"><a href="ct.html#capture_get-0">capture_get/0</a></li> <li title="capture_get-1"><a href="ct.html#capture_get-1">capture_get/1</a></li> <li title="capture_start-0"><a href="ct.html#capture_start-0">capture_start/0</a></li> <li title="capture_stop-0"><a href="ct.html#capture_stop-0">capture_stop/0</a></li> <li title="comment-1"><a href="ct.html#comment-1">comment/1</a></li> <li title="comment-2"><a href="ct.html#comment-2">comment/2</a></li> <li title="continue-0"><a href="ct.html#continue-0">continue/0</a></li> <li title="continue-1"><a href="ct.html#continue-1">continue/1</a></li> <li title="decrypt_config_file-2"><a href="ct.html#decrypt_config_file-2">decrypt_config_file/2</a></li> <li title="decrypt_config_file-3"><a href="ct.html#decrypt_config_file-3">decrypt_config_file/3</a></li> <li title="encrypt_config_file-2"><a href="ct.html#encrypt_config_file-2">encrypt_config_file/2</a></li> <li title="encrypt_config_file-3"><a href="ct.html#encrypt_config_file-3">encrypt_config_file/3</a></li> <li title="fail-1"><a href="ct.html#fail-1">fail/1</a></li> <li title="fail-2"><a href="ct.html#fail-2">fail/2</a></li> <li title="get_config-1"><a href="ct.html#get_config-1">get_config/1</a></li> <li title="get_config-2"><a href="ct.html#get_config-2">get_config/2</a></li> <li title="get_config-3"><a href="ct.html#get_config-3">get_config/3</a></li> <li title="get_event_mgr_ref-0"><a href="ct.html#get_event_mgr_ref-0">get_event_mgr_ref/0</a></li> <li title="get_status-0"><a href="ct.html#get_status-0">get_status/0</a></li> <li title="get_target_name-1"><a href="ct.html#get_target_name-1">get_target_name/1</a></li> <li title="get_testspec_terms-0"><a href="ct.html#get_testspec_terms-0">get_testspec_terms/0</a></li> <li title="get_testspec_terms-1"><a href="ct.html#get_testspec_terms-1">get_testspec_terms/1</a></li> <li title="get_timetrap_info-0"><a href="ct.html#get_timetrap_info-0">get_timetrap_info/0</a></li> <li title="install-1"><a href="ct.html#install-1">install/1</a></li> <li title="listenv-1"><a href="ct.html#listenv-1">listenv/1</a></li> <li title="log-1"><a href="ct.html#log-1">log/1</a></li> <li title="log-2"><a href="ct.html#log-2">log/2</a></li> <li title="log-3"><a href="ct.html#log-3">log/3</a></li> <li title="log-4"><a href="ct.html#log-4">log/4</a></li> <li title="log-5"><a href="ct.html#log-5">log/5</a></li> <li title="make_priv_dir-0"><a href="ct.html#make_priv_dir-0">make_priv_dir/0</a></li> <li title="notify-2"><a href="ct.html#notify-2">notify/2</a></li> <li title="pal-1"><a href="ct.html#pal-1">pal/1</a></li> <li title="pal-2"><a href="ct.html#pal-2">pal/2</a></li> <li title="pal-3"><a href="ct.html#pal-3">pal/3</a></li> <li title="pal-4"><a href="ct.html#pal-4">pal/4</a></li> <li title="parse_table-1"><a href="ct.html#parse_table-1">parse_table/1</a></li> <li title="print-1"><a href="ct.html#print-1">print/1</a></li> <li title="print-2"><a href="ct.html#print-2">print/2</a></li> <li title="print-3"><a href="ct.html#print-3">print/3</a></li> <li title="print-4"><a href="ct.html#print-4">print/4</a></li> <li title="reload_config-1"><a href="ct.html#reload_config-1">reload_config/1</a></li> <li title="remove_config-2"><a href="ct.html#remove_config-2">remove_config/2</a></li> <li title="require-1"><a href="ct.html#require-1">require/1</a></li> <li title="require-2"><a href="ct.html#require-2">require/2</a></li> <li title="run-1"><a href="ct.html#run-1">run/1</a></li> <li title="run-2"><a href="ct.html#run-2">run/2</a></li> <li title="run-3"><a href="ct.html#run-3">run/3</a></li> <li title="run_test-1"><a href="ct.html#run_test-1">run_test/1</a></li> <li title="run_testspec-1"><a href="ct.html#run_testspec-1">run_testspec/1</a></li> <li title="sleep-1"><a href="ct.html#sleep-1">sleep/1</a></li> <li title="start_interactive-0"><a href="ct.html#start_interactive-0">start_interactive/0</a></li> <li title="step-3"><a href="ct.html#step-3">step/3</a></li> <li title="step-4"><a href="ct.html#step-4">step/4</a></li> <li title="stop_interactive-0"><a href="ct.html#stop_interactive-0">stop_interactive/0</a></li> <li title="sync_notify-2"><a href="ct.html#sync_notify-2">sync_notify/2</a></li> <li title="testcases-2"><a href="ct.html#testcases-2">testcases/2</a></li> <li title="timetrap-1"><a href="ct.html#timetrap-1">timetrap/1</a></li> <li title="userdata-2"><a href="ct.html#userdata-2">userdata/2</a></li> <li title="userdata-3"><a href="ct.html#userdata-3">userdata/3</a></li> </ul> </li> <li id="no" title="ct_master " expanded="false">ct_master<ul> <li><a href="ct_master.html"> Top of manual page </a></li> <li title="abort-0"><a href="ct_master.html#abort-0">abort/0</a></li> <li title="abort-1"><a href="ct_master.html#abort-1">abort/1</a></li> <li title="basic_html-1"><a href="ct_master.html#basic_html-1">basic_html/1</a></li> <li title="get_event_mgr_ref-0"><a href="ct_master.html#get_event_mgr_ref-0">get_event_mgr_ref/0</a></li> <li title="progress-0"><a href="ct_master.html#progress-0">progress/0</a></li> <li title="run-1"><a href="ct_master.html#run-1">run/1</a></li> <li title="run-3"><a href="ct_master.html#run-3">run/3</a></li> <li title="run-4"><a href="ct_master.html#run-4">run/4</a></li> <li title="run_on_node-2"><a href="ct_master.html#run_on_node-2">run_on_node/2</a></li> <li title="run_on_node-3"><a href="ct_master.html#run_on_node-3">run_on_node/3</a></li> <li title="run_test-2"><a href="ct_master.html#run_test-2">run_test/2</a></li> </ul> </li> <li id="no" title="ct_cover " expanded="false">ct_cover<ul> <li><a href="ct_cover.html"> Top of manual page </a></li> <li title="add_nodes-1"><a href="ct_cover.html#add_nodes-1">add_nodes/1</a></li> <li title="cross_cover_analyse-2"><a href="ct_cover.html#cross_cover_analyse-2">cross_cover_analyse/2</a></li> <li title="remove_nodes-1"><a href="ct_cover.html#remove_nodes-1">remove_nodes/1</a></li> </ul> </li> <li id="no" title="ct_ftp " expanded="false">ct_ftp<ul> <li><a href="ct_ftp.html"> Top of manual page </a></li> <li title="cd-2"><a href="ct_ftp.html#cd-2">cd/2</a></li> <li title="close-1"><a href="ct_ftp.html#close-1">close/1</a></li> <li title="delete-2"><a href="ct_ftp.html#delete-2">delete/2</a></li> <li title="get-3"><a href="ct_ftp.html#get-3">get/3</a></li> <li title="ls-2"><a href="ct_ftp.html#ls-2">ls/2</a></li> <li title="open-1"><a href="ct_ftp.html#open-1">open/1</a></li> <li title="put-3"><a href="ct_ftp.html#put-3">put/3</a></li> <li title="recv-2"><a href="ct_ftp.html#recv-2">recv/2</a></li> <li title="recv-3"><a href="ct_ftp.html#recv-3">recv/3</a></li> <li title="send-2"><a href="ct_ftp.html#send-2">send/2</a></li> <li title="send-3"><a href="ct_ftp.html#send-3">send/3</a></li> <li title="type-2"><a href="ct_ftp.html#type-2">type/2</a></li> </ul> </li> <li id="no" title="ct_ssh " expanded="false">ct_ssh<ul> <li><a href="ct_ssh.html"> Top of manual page </a></li> <li title="apread-4"><a href="ct_ssh.html#apread-4">apread/4</a></li> <li title="apread-5"><a href="ct_ssh.html#apread-5">apread/5</a></li> <li title="apwrite-4"><a href="ct_ssh.html#apwrite-4">apwrite/4</a></li> <li title="apwrite-5"><a href="ct_ssh.html#apwrite-5">apwrite/5</a></li> <li title="aread-3"><a href="ct_ssh.html#aread-3">aread/3</a></li> <li title="aread-4"><a href="ct_ssh.html#aread-4">aread/4</a></li> <li title="awrite-3"><a href="ct_ssh.html#awrite-3">awrite/3</a></li> <li title="awrite-4"><a href="ct_ssh.html#awrite-4">awrite/4</a></li> <li title="close-2"><a href="ct_ssh.html#close-2">close/2</a></li> <li title="close-3"><a href="ct_ssh.html#close-3">close/3</a></li> <li title="connect-1"><a href="ct_ssh.html#connect-1">connect/1</a></li> <li title="connect-2"><a href="ct_ssh.html#connect-2">connect/2</a></li> <li title="connect-3"><a href="ct_ssh.html#connect-3">connect/3</a></li> <li title="del_dir-2"><a href="ct_ssh.html#del_dir-2">del_dir/2</a></li> <li title="del_dir-3"><a href="ct_ssh.html#del_dir-3">del_dir/3</a></li> <li title="delete-2"><a href="ct_ssh.html#delete-2">delete/2</a></li> <li title="delete-3"><a href="ct_ssh.html#delete-3">delete/3</a></li> <li title="disconnect-1"><a href="ct_ssh.html#disconnect-1">disconnect/1</a></li> <li title="exec-2"><a href="ct_ssh.html#exec-2">exec/2</a></li> <li title="exec-3"><a href="ct_ssh.html#exec-3">exec/3</a></li> <li title="exec-4"><a href="ct_ssh.html#exec-4">exec/4</a></li> <li title="get_file_info-2"><a href="ct_ssh.html#get_file_info-2">get_file_info/2</a></li> <li title="get_file_info-3"><a href="ct_ssh.html#get_file_info-3">get_file_info/3</a></li> <li title="list_dir-2"><a href="ct_ssh.html#list_dir-2">list_dir/2</a></li> <li title="list_dir-3"><a href="ct_ssh.html#list_dir-3">list_dir/3</a></li> <li title="make_dir-2"><a href="ct_ssh.html#make_dir-2">make_dir/2</a></li> <li title="make_dir-3"><a href="ct_ssh.html#make_dir-3">make_dir/3</a></li> <li title="make_symlink-3"><a href="ct_ssh.html#make_symlink-3">make_symlink/3</a></li> <li title="make_symlink-4"><a href="ct_ssh.html#make_symlink-4">make_symlink/4</a></li> <li title="open-3"><a href="ct_ssh.html#open-3">open/3</a></li> <li title="open-4"><a href="ct_ssh.html#open-4">open/4</a></li> <li title="opendir-2"><a href="ct_ssh.html#opendir-2">opendir/2</a></li> <li title="opendir-3"><a href="ct_ssh.html#opendir-3">opendir/3</a></li> <li title="position-3"><a href="ct_ssh.html#position-3">position/3</a></li> <li title="position-4"><a href="ct_ssh.html#position-4">position/4</a></li> <li title="pread-4"><a href="ct_ssh.html#pread-4">pread/4</a></li> <li title="pread-5"><a href="ct_ssh.html#pread-5">pread/5</a></li> <li title="pwrite-4"><a href="ct_ssh.html#pwrite-4">pwrite/4</a></li> <li title="pwrite-5"><a href="ct_ssh.html#pwrite-5">pwrite/5</a></li> <li title="read-3"><a href="ct_ssh.html#read-3">read/3</a></li> <li title="read-4"><a href="ct_ssh.html#read-4">read/4</a></li> <li title="read_file-2"><a href="ct_ssh.html#read_file-2">read_file/2</a></li> <li title="read_file-3"><a href="ct_ssh.html#read_file-3">read_file/3</a></li> <li title="read_file_info-2"><a href="ct_ssh.html#read_file_info-2">read_file_info/2</a></li> <li title="read_file_info-3"><a href="ct_ssh.html#read_file_info-3">read_file_info/3</a></li> <li title="read_link-2"><a href="ct_ssh.html#read_link-2">read_link/2</a></li> <li title="read_link-3"><a href="ct_ssh.html#read_link-3">read_link/3</a></li> <li title="read_link_info-2"><a href="ct_ssh.html#read_link_info-2">read_link_info/2</a></li> <li title="read_link_info-3"><a href="ct_ssh.html#read_link_info-3">read_link_info/3</a></li> <li title="receive_response-2"><a href="ct_ssh.html#receive_response-2">receive_response/2</a></li> <li title="receive_response-3"><a href="ct_ssh.html#receive_response-3">receive_response/3</a></li> <li title="receive_response-4"><a href="ct_ssh.html#receive_response-4">receive_response/4</a></li> <li title="rename-3"><a href="ct_ssh.html#rename-3">rename/3</a></li> <li title="rename-4"><a href="ct_ssh.html#rename-4">rename/4</a></li> <li title="send-3"><a href="ct_ssh.html#send-3">send/3</a></li> <li title="send-4"><a href="ct_ssh.html#send-4">send/4</a></li> <li title="send-5"><a href="ct_ssh.html#send-5">send/5</a></li> <li title="send_and_receive-3"><a href="ct_ssh.html#send_and_receive-3">send_and_receive/3</a></li> <li title="send_and_receive-4"><a href="ct_ssh.html#send_and_receive-4">send_and_receive/4</a></li> <li title="send_and_receive-5"><a href="ct_ssh.html#send_and_receive-5">send_and_receive/5</a></li> <li title="send_and_receive-6"><a href="ct_ssh.html#send_and_receive-6">send_and_receive/6</a></li> <li title="session_close-2"><a href="ct_ssh.html#session_close-2">session_close/2</a></li> <li title="session_open-1"><a href="ct_ssh.html#session_open-1">session_open/1</a></li> <li title="session_open-2"><a href="ct_ssh.html#session_open-2">session_open/2</a></li> <li title="sftp_connect-1"><a href="ct_ssh.html#sftp_connect-1">sftp_connect/1</a></li> <li title="subsystem-3"><a href="ct_ssh.html#subsystem-3">subsystem/3</a></li> <li title="subsystem-4"><a href="ct_ssh.html#subsystem-4">subsystem/4</a></li> <li title="write-3"><a href="ct_ssh.html#write-3">write/3</a></li> <li title="write-4"><a href="ct_ssh.html#write-4">write/4</a></li> <li title="write_file-3"><a href="ct_ssh.html#write_file-3">write_file/3</a></li> <li title="write_file-4"><a href="ct_ssh.html#write_file-4">write_file/4</a></li> <li title="write_file_info-3"><a href="ct_ssh.html#write_file_info-3">write_file_info/3</a></li> <li title="write_file_info-4"><a href="ct_ssh.html#write_file_info-4">write_file_info/4</a></li> </ul> </li> <li id="no" title="ct_netconfc " expanded="false">ct_netconfc<ul> <li><a href="ct_netconfc.html"> Top of manual page </a></li> <li title="action-2"><a href="ct_netconfc.html#action-2">action/2</a></li> <li title="action-3"><a href="ct_netconfc.html#action-3">action/3</a></li> <li title="close_session-1"><a href="ct_netconfc.html#close_session-1">close_session/1</a></li> <li title="close_session-2"><a href="ct_netconfc.html#close_session-2">close_session/2</a></li> <li title="copy_config-3"><a href="ct_netconfc.html#copy_config-3">copy_config/3</a></li> <li title="copy_config-4"><a href="ct_netconfc.html#copy_config-4">copy_config/4</a></li> <li title="create_subscription-1"><a href="ct_netconfc.html#create_subscription-1">create_subscription/1</a></li> <li title="create_subscription-2"><a href="ct_netconfc.html#create_subscription-2">create_subscription/2</a></li> <li title="create_subscription-3"><a href="ct_netconfc.html#create_subscription-3">create_subscription/3</a></li> <li title="create_subscription-4"><a href="ct_netconfc.html#create_subscription-4">create_subscription/4</a></li> <li title="create_subscription-5"><a href="ct_netconfc.html#create_subscription-5">create_subscription/5</a></li> <li title="create_subscription-6"><a href="ct_netconfc.html#create_subscription-6">create_subscription/6</a></li> <li title="delete_config-2"><a href="ct_netconfc.html#delete_config-2">delete_config/2</a></li> <li title="delete_config-3"><a href="ct_netconfc.html#delete_config-3">delete_config/3</a></li> <li title="edit_config-3"><a href="ct_netconfc.html#edit_config-3">edit_config/3</a></li> <li title="edit_config-4"><a href="ct_netconfc.html#edit_config-4">edit_config/4</a></li> <li title="edit_config-5"><a href="ct_netconfc.html#edit_config-5">edit_config/5</a></li> <li title="get-2"><a href="ct_netconfc.html#get-2">get/2</a></li> <li title="get-3"><a href="ct_netconfc.html#get-3">get/3</a></li> <li title="get_capabilities-1"><a href="ct_netconfc.html#get_capabilities-1">get_capabilities/1</a></li> <li title="get_capabilities-2"><a href="ct_netconfc.html#get_capabilities-2">get_capabilities/2</a></li> <li title="get_config-3"><a href="ct_netconfc.html#get_config-3">get_config/3</a></li> <li title="get_config-4"><a href="ct_netconfc.html#get_config-4">get_config/4</a></li> <li title="get_event_streams-2"><a href="ct_netconfc.html#get_event_streams-2">get_event_streams/2</a></li> <li title="get_event_streams-3"><a href="ct_netconfc.html#get_event_streams-3">get_event_streams/3</a></li> <li title="get_session_id-1"><a href="ct_netconfc.html#get_session_id-1">get_session_id/1</a></li> <li title="get_session_id-2"><a href="ct_netconfc.html#get_session_id-2">get_session_id/2</a></li> <li title="hello-1"><a href="ct_netconfc.html#hello-1">hello/1</a></li> <li title="hello-2"><a href="ct_netconfc.html#hello-2">hello/2</a></li> <li title="hello-3"><a href="ct_netconfc.html#hello-3">hello/3</a></li> <li title="kill_session-2"><a href="ct_netconfc.html#kill_session-2">kill_session/2</a></li> <li title="kill_session-3"><a href="ct_netconfc.html#kill_session-3">kill_session/3</a></li> <li title="lock-2"><a href="ct_netconfc.html#lock-2">lock/2</a></li> <li title="lock-3"><a href="ct_netconfc.html#lock-3">lock/3</a></li> <li title="only_open-1"><a href="ct_netconfc.html#only_open-1">only_open/1</a></li> <li title="only_open-2"><a href="ct_netconfc.html#only_open-2">only_open/2</a></li> <li title="open-1"><a href="ct_netconfc.html#open-1">open/1</a></li> <li title="open-2"><a href="ct_netconfc.html#open-2">open/2</a></li> <li title="send-2"><a href="ct_netconfc.html#send-2">send/2</a></li> <li title="send-3"><a href="ct_netconfc.html#send-3">send/3</a></li> <li title="send_rpc-2"><a href="ct_netconfc.html#send_rpc-2">send_rpc/2</a></li> <li title="send_rpc-3"><a href="ct_netconfc.html#send_rpc-3">send_rpc/3</a></li> <li title="unlock-2"><a href="ct_netconfc.html#unlock-2">unlock/2</a></li> <li title="unlock-3"><a href="ct_netconfc.html#unlock-3">unlock/3</a></li> </ul> </li> <li id="no" title="ct_rpc " expanded="false">ct_rpc<ul> <li><a href="ct_rpc.html"> Top of manual page </a></li> <li title="app_node-2"><a href="ct_rpc.html#app_node-2">app_node/2</a></li> <li title="app_node-3"><a href="ct_rpc.html#app_node-3">app_node/3</a></li> <li title="app_node-4"><a href="ct_rpc.html#app_node-4">app_node/4</a></li> <li title="call-4"><a href="ct_rpc.html#call-4">call/4</a></li> <li title="call-5"><a href="ct_rpc.html#call-5">call/5</a></li> <li title="call-6"><a href="ct_rpc.html#call-6">call/6</a></li> <li title="cast-4"><a href="ct_rpc.html#cast-4">cast/4</a></li> <li title="cast-5"><a href="ct_rpc.html#cast-5">cast/5</a></li> </ul> </li> <li id="loadscrollpos" title="ct_snmp " expanded="true">ct_snmp<ul> <li><a href="ct_snmp.html"> Top of manual page </a></li> <li title="get_next_values-3"><a href="ct_snmp.html#get_next_values-3">get_next_values/3</a></li> <li title="get_values-3"><a href="ct_snmp.html#get_values-3">get_values/3</a></li> <li title="load_mibs-1"><a href="ct_snmp.html#load_mibs-1">load_mibs/1</a></li> <li title="register_agents-2"><a href="ct_snmp.html#register_agents-2">register_agents/2</a></li> <li title="register_users-2"><a href="ct_snmp.html#register_users-2">register_users/2</a></li> <li title="register_usm_users-2"><a href="ct_snmp.html#register_usm_users-2">register_usm_users/2</a></li> <li title="set_info-1"><a href="ct_snmp.html#set_info-1">set_info/1</a></li> <li title="set_values-4"><a href="ct_snmp.html#set_values-4">set_values/4</a></li> <li title="start-2"><a href="ct_snmp.html#start-2">start/2</a></li> <li title="start-3"><a href="ct_snmp.html#start-3">start/3</a></li> <li title="stop-1"><a href="ct_snmp.html#stop-1">stop/1</a></li> <li title="unload_mibs-1"><a href="ct_snmp.html#unload_mibs-1">unload_mibs/1</a></li> <li title="unregister_agents-1"><a href="ct_snmp.html#unregister_agents-1">unregister_agents/1</a></li> <li title="unregister_agents-2"><a href="ct_snmp.html#unregister_agents-2">unregister_agents/2</a></li> <li title="unregister_users-1"><a href="ct_snmp.html#unregister_users-1">unregister_users/1</a></li> <li title="unregister_users-2"><a href="ct_snmp.html#unregister_users-2">unregister_users/2</a></li> <li title="unregister_usm_users-1"><a href="ct_snmp.html#unregister_usm_users-1">unregister_usm_users/1</a></li> <li title="unregister_usm_users-2"><a href="ct_snmp.html#unregister_usm_users-2">unregister_usm_users/2</a></li> </ul> </li> <li id="no" title="ct_telnet " expanded="false">ct_telnet<ul> <li><a href="ct_telnet.html"> Top of manual page </a></li> <li title="close-1"><a href="ct_telnet.html#close-1">close/1</a></li> <li title="cmd-2"><a href="ct_telnet.html#cmd-2">cmd/2</a></li> <li title="cmd-3"><a href="ct_telnet.html#cmd-3">cmd/3</a></li> <li title="cmdf-3"><a href="ct_telnet.html#cmdf-3">cmdf/3</a></li> <li title="cmdf-4"><a href="ct_telnet.html#cmdf-4">cmdf/4</a></li> <li title="expect-2"><a href="ct_telnet.html#expect-2">expect/2</a></li> <li title="expect-3"><a href="ct_telnet.html#expect-3">expect/3</a></li> <li title="get_data-1"><a href="ct_telnet.html#get_data-1">get_data/1</a></li> <li title="open-1"><a href="ct_telnet.html#open-1">open/1</a></li> <li title="open-2"><a href="ct_telnet.html#open-2">open/2</a></li> <li title="open-3"><a href="ct_telnet.html#open-3">open/3</a></li> <li title="open-4"><a href="ct_telnet.html#open-4">open/4</a></li> <li title="send-2"><a href="ct_telnet.html#send-2">send/2</a></li> <li title="send-3"><a href="ct_telnet.html#send-3">send/3</a></li> <li title="sendf-3"><a href="ct_telnet.html#sendf-3">sendf/3</a></li> <li title="sendf-4"><a href="ct_telnet.html#sendf-4">sendf/4</a></li> </ul> </li> <li id="no" title="unix_telnet " expanded="false">unix_telnet<ul> <li><a href="unix_telnet.html"> Top of manual page </a></li> <li title="connect-6"><a href="unix_telnet.html#connect-6">connect/6</a></li> <li title="get_prompt_regexp-0"><a href="unix_telnet.html#get_prompt_regexp-0">get_prompt_regexp/0</a></li> </ul> </li> <li id="no" title="ct_slave " expanded="false">ct_slave<ul> <li><a href="ct_slave.html"> Top of manual page </a></li> <li title="start-1"><a href="ct_slave.html#start-1">start/1</a></li> <li title="start-2"><a href="ct_slave.html#start-2">start/2</a></li> <li title="start-3"><a href="ct_slave.html#start-3">start/3</a></li> <li title="stop-1"><a href="ct_slave.html#stop-1">stop/1</a></li> <li title="stop-2"><a href="ct_slave.html#stop-2">stop/2</a></li> </ul> </li> <li id="no" title="ct_hooks " expanded="false">ct_hooks<ul> <li><a href="ct_hooks.html"> Top of manual page </a></li> <li title="Module:init-2"><a href="ct_hooks.html#Module:init-2">Module:init/2</a></li> <li title="Module:pre_init_per_suite-3"><a href="ct_hooks.html#Module:pre_init_per_suite-3">Module:pre_init_per_suite/3</a></li> <li title="Module:post_init_per_suite-4"><a href="ct_hooks.html#Module:post_init_per_suite-4">Module:post_init_per_suite/4</a></li> <li title="Module:pre_init_per_group-3"><a href="ct_hooks.html#Module:pre_init_per_group-3">Module:pre_init_per_group/3</a></li> <li title="Module:post_init_per_group-4"><a href="ct_hooks.html#Module:post_init_per_group-4">Module:post_init_per_group/4</a></li> <li title="Module:pre_init_per_testcase-3"><a href="ct_hooks.html#Module:pre_init_per_testcase-3">Module:pre_init_per_testcase/3</a></li> <li title="Module:post_init_per_testcase-4"><a href="ct_hooks.html#Module:post_init_per_testcase-4">Module:post_init_per_testcase/4</a></li> <li title="Module:pre_end_per_testcase-3"><a href="ct_hooks.html#Module:pre_end_per_testcase-3">Module:pre_end_per_testcase/3</a></li> <li title="Module:post_end_per_testcase-4"><a href="ct_hooks.html#Module:post_end_per_testcase-4">Module:post_end_per_testcase/4</a></li> <li title="Module:pre_end_per_group-3"><a href="ct_hooks.html#Module:pre_end_per_group-3">Module:pre_end_per_group/3</a></li> <li title="Module:post_end_per_group-4"><a href="ct_hooks.html#Module:post_end_per_group-4">Module:post_end_per_group/4</a></li> <li title="Module:pre_end_per_suite-3"><a href="ct_hooks.html#Module:pre_end_per_suite-3">Module:pre_end_per_suite/3</a></li> <li title="Module:post_end_per_suite-4"><a href="ct_hooks.html#Module:post_end_per_suite-4">Module:post_end_per_suite/4</a></li> <li title="Module:on_tc_fail-3"><a href="ct_hooks.html#Module:on_tc_fail-3">Module:on_tc_fail/3</a></li> <li title="Module:on_tc_skip-3"><a href="ct_hooks.html#Module:on_tc_skip-3">Module:on_tc_skip/3</a></li> <li title="Module:terminate-1"><a href="ct_hooks.html#Module:terminate-1">Module:terminate/1</a></li> <li title="Module:id-1"><a href="ct_hooks.html#Module:id-1">Module:id/1</a></li> </ul> </li> <li id="no" title="ct_property_test " expanded="false">ct_property_test<ul> <li><a href="ct_property_test.html"> Top of manual page </a></li> <li title="init_per_suite-1"><a href="ct_property_test.html#init_per_suite-1">init_per_suite/1</a></li> <li title="quickcheck-2"><a href="ct_property_test.html#quickcheck-2">quickcheck/2</a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <!-- refpage --><center><h1>ct_snmp</h1></center> <h3>MODULE</h3> <div class="REFBODY">ct_snmp</div> <h3>MODULE SUMMARY</h3> <div class="REFBODY">Common Test user interface module for the SNMP application.</div> <h3>DESCRIPTION</h3> <div class="REFBODY"><p> <p><span class="code">Common Test</span> user interface module for the <span class="code">SNMP</span> application.</p> <p>The purpose of this module is to simplify SNMP configuration for the test case writer. Many test cases can use default values for common operations and then no SNMP configuration files need to be supplied. When it is necessary to change particular configuration parameters, a subset of the relevant SNMP configuration files can be passed to <span class="code">ct_snmp</span> by <span class="code">Common Test</span> configuration files. For more specialized configuration parameters, a simple SNMP configuration file can be placed in the test suite data directory. To simplify the test suite, <span class="code">Common Test</span> keeps track of some of the SNMP manager information. This way the test suite does not have to handle as many input parameters as if it had to interface wthe OTP SNMP manager directly.</p> <p><strong>Configurable SNMP Manager and Agent Parameters:</strong></p> <p>Manager configuration:</p> <dl> <dt><strong><span class="code">[{start_manager, boolean()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">true</span>.</p></dd> <dt><strong><span class="code">{users, [{user_name(), [call_back_module(), user_data()]}]}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{usm_users, [{usm_user_name(), [usm_config()]}]}</span></strong></dt> <dd><p>Optional. SNMPv3 only.</p></dd> <dt><strong><span class="code">{managed_agents,[{agent_name(), [user_name(), agent_ip(), agent_port(), [agent_config()]]}]}</span></strong></dt> <dd><p><span class="code">managed_agents</span> is optional.</p></dd> <dt><strong><span class="code">{max_msg_size, integer()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">484</span>.</p></dd> <dt><strong><span class="code">{mgr_port, integer()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">5000</span>.</p></dd> <dt><strong><span class="code">{engine _id, string()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">"mgrEngine"</span>.</p></dd> </dl> <p>Agent configuration:</p> <dl> <dt><strong><span class="code">{start_agent, boolean()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">false</span>.</p></dd> <dt><strong><span class="code">{agent_sysname, string()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">"ct_test"</span>.</p></dd> <dt><strong><span class="code">{agent_manager_ip, manager_ip()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">localhost</span>.</p></dd> <dt><strong><span class="code">{agent_vsns, list()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">[v2]</span>.</p></dd> <dt><strong><span class="code">{agent_trap_udp, integer()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">5000</span>.</p></dd> <dt><strong><span class="code">{agent_udp, integer()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">4000</span>.</p></dd> <dt><strong><span class="code">{agent_notify_type, atom()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">trap</span>.</p></dd> <dt><strong><span class="code">{agent_sec_type, sec_type()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">none</span>.</p></dd> <dt><strong><span class="code">{agent_passwd, string()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">""</span>.</p></dd> <dt><strong><span class="code">{agent_engine_id, string()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">"agentEngine"</span>.</p></dd> <dt><strong><span class="code">{agent_max_msg_size, string()}</span></strong></dt> <dd><p>Optional. Default is <span class="code">484</span>.</p></dd> </dl> <p>The following parameters represents the SNMP configuration files <span class="code">context.conf</span>, <span class="code">standard.conf</span>, <span class="code">community.conf</span>, <span class="code">vacm.conf</span>, <span class="code">usm.conf</span>, <span class="code">notify.conf</span>, <span class="code">target_addr.conf</span>, and <span class="code">target_params.conf</span>. Notice that all values in <span class="code">agent.conf</span> can be modified by the parameters listed above. All these configuration files have default values set by the <span class="code">SNMP</span> application. These values can be overridden by suppling a list of valid configuration values or a file located in the test suites data directory, which can produce a list of valid configuration values if you apply function <span class="code">file:consult/1</span> to the file.</p> <dl> <dt><strong><span class="code">{agent_contexts, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{agent_community, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{agent_sysinfo, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{agent_vacm, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{agent_usm, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{agent_notify_def, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{agent_target_address_def, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> <dt><strong><span class="code">{agent_target_param_def, [term()] | {data_dir_file, rel_path()}}</span></strong></dt> <dd><p>Optional.</p></dd> </dl> <p>Parameter <span class="code">MgrAgentConfName</span> in the functions is to be a name you allocate in your test suite using a <span class="code">require</span> statement. Example (where <span class="code">MgrAgentConfName = snmp_mgr_agent</span>):</p> <div class="example"><pre> suite() -> [{require, snmp_mgr_agent, snmp}].</pre></div> <p>or</p> <div class="example"><pre> ct:require(snmp_mgr_agent, snmp).</pre></div> <p>Notice that USM users are needed for SNMPv3 configuration and are not to be confused with users.</p> <p>SNMP traps, inform, and report messages are handled by the user callback module. For details, see the <span class="bold_code"><a href="javascript:erlhref('../../../../doc/../','snmp','index.html');"><span class="code">SNMP</span></a></span> application.</p> <p>It is recommended to use the <span class="code">.hrl</span> files created by the Erlang/OTP MIB compiler to define the Object Identifiers (OIDs). For example, to get the Erlang node name from <span class="code">erlNodeTable</span> in the OTP-MIB:</p> <div class="example"><pre> Oid = ?erlNodeEntry ++ [?erlNodeName, 1]</pre></div> <p>Furthermore, values can be set for <span class="code">SNMP</span> application configuration parameters, <span class="code">config</span>, <span class="code">server</span>, <span class="code">net_if</span>, and so on (for a list of valid parameters and types, see the <span class="bold_code"><a href="javascript:erlhref('../../../../doc/../','snmp','users_guide.html');"><span class="code">User's Guide for the SNMP application</span></a></span>). This is done by defining a configuration data variable on the following form:</p> <div class="example"><pre> {snmp_app, [{manager, [snmp_app_manager_params()]}, {agent, [snmp_app_agent_params()]}]}.</pre></div> <p>A name for the data must be allocated in the suite using <span class="code">require</span> (see the example above). Pass this name as argument <span class="code">SnmpAppConfName</span> to <span class="bold_code"><a href="#start-3"><span class="code">ct_snmp:start/3</span></a></span>. <span class="code">ct_snmp</span> specifies default values for some <span class="code">SNMP</span> application configuration parameters (such as <span class="code">{verbosity,trace}</span> for parameter <span class="code">config</span>). This set of defaults is merged with the parameters specified by the user. The user values override <span class="code">ct_snmp</span> defaults.</p> </p></div> <h3><a name="idp307744012">Data Types</a></h3> <div class="REFBODY"> <a name="types"></a> <dl> <dt><strong><span class="code">agent_config() = {Item, Value}</span></strong></dt> <dd> <a name="type-agent_config"></a> </dd> <dt><strong><span class="code">agent_ip() = ip()</span></strong></dt> <dd> <a name="type-agent_ip"></a> </dd> <dt><strong><span class="code">agent_name() = atom()</span></strong></dt> <dd> <a name="type-agent_name"></a> </dd> <dt><strong><span class="code">agent_port() = integer()</span></strong></dt> <dd> <a name="type-agent_port"></a> </dd> <dt><strong><span class="code">call_back_module() = atom()</span></strong></dt> <dd> <a name="type-call_back_module"></a> </dd> <dt><strong><span class="code">error_index() = integer()</span></strong></dt> <dd> <a name="type-error_index"></a> </dd> <dt><strong><span class="code">error_status() = noError | atom()</span></strong></dt> <dd> <a name="type-error_status"></a> </dd> <dt><strong><span class="code">ip() = string() | {integer(), integer(), integer(), integer()}</span></strong></dt> <dd> <a name="type-ip"></a> </dd> <dt><strong><span class="code">manager_ip() = ip()</span></strong></dt> <dd> <a name="type-manager_ip"></a> </dd> <dt><strong><span class="code">oid() = [byte()]</span></strong></dt> <dd> <a name="type-oid"></a> </dd> <dt><strong><span class="code">oids() = [oid()]</span></strong></dt> <dd> <a name="type-oids"></a> </dd> <dt><strong><span class="code">rel_path() = string()</span></strong></dt> <dd> <a name="type-rel_path"></a> </dd> <dt><strong><span class="code">sec_type() = none | minimum | semi</span></strong></dt> <dd> <a name="type-sec_type"></a> </dd> <dt><strong><span class="code">snmp_app_agent_params() = term()</span></strong></dt> <dd> <a name="type-snmp_app_agent_params"></a> </dd> <dt><strong><span class="code">snmp_app_manager_params() = term()</span></strong></dt> <dd> <a name="type-snmp_app_manager_params"></a> </dd> <dt><strong><span class="code">snmpreply() = {error_status(), error_index(), varbinds()}</span></strong></dt> <dd> <a name="type-snmpreply"></a> </dd> <dt><strong><span class="code">user_data() = term()</span></strong></dt> <dd> <a name="type-user_data"></a> </dd> <dt><strong><span class="code">user_name() = atom()</span></strong></dt> <dd> <a name="type-user_name"></a> </dd> <dt><strong><span class="code">usm_config() = {Item, Value}</span></strong></dt> <dd> <a name="type-usm_config"></a> </dd> <dt><strong><span class="code">usm_user_name() = string()</span></strong></dt> <dd> <a name="type-usm_user_name"></a> </dd> <dt><strong><span class="code">value_type() = o('OBJECT IDENTIFIER') | i('INTEGER') | u('Unsigned32') | g('Unsigned32') | s('OCTET STRING')</span></strong></dt> <dd> <a name="type-value_type"></a> </dd> <dt><strong><span class="code">var_and_val() = {oid(), value_type(), value()}</span></strong></dt> <dd> <a name="type-var_and_val"></a> </dd> <dt><strong><span class="code">varbind() = term()</span></strong></dt> <dd> <a name="type-varbind"></a> </dd> <dt><strong><span class="code">varbinds() = [varbind()]</span></strong></dt> <dd> <a name="type-varbinds"></a> </dd> <dt><strong><span class="code">varsandvals() = [var_and_val()]</span></strong></dt> <dd> <a name="type-varsandvals"></a> </dd> </dl> <p>These data types are described in the documentation for the <span class="bold_code"><a href="javascript:erlhref('../../../../doc/../','snmp','index.html');"><span class="code">SNMP</span></a></span> application.</p> </div> <h3>EXPORTS</h3> <p><a name="get_next_values-3"><span class="bold_code">get_next_values(Agent, Oids, MgrAgentConfName) -> SnmpReply</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Agent = agent_name()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Oids = oids()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">SnmpReply = snmpreply()</span><br> </div> </div> <div class="REFBODY"><p><a name="get_next_values-3"></a> <p>Issues a synchronous SNMP <span class="code">get next</span> request.</p> </p></div> <p><a name="get_values-3"><span class="bold_code">get_values(Agent, Oids, MgrAgentConfName) -> SnmpReply</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Agent = agent_name()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Oids = oids()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">SnmpReply = snmpreply()</span><br> </div> </div> <div class="REFBODY"><p><a name="get_values-3"></a> <p>Issues a synchronous SNMP <span class="code">get</span> request.</p> </p></div> <p><a name="load_mibs-1"><span class="bold_code">load_mibs(Mibs) -> ok | {error, Reason}</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Mibs = [MibName]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">MibName = string()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="load_mibs-1"></a> <p>Loads the MIBs into agent <span class="code">snmp_master_agent</span>.</p> </p></div> <p><a name="register_agents-2"><span class="bold_code">register_agents(MgrAgentConfName, ManagedAgents) -> ok | {error, Reason}</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">ManagedAgents = [agent()]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="register_agents-2"></a> <p>Explicitly instructs the manager to handle this agent. Corresponds to making an entry in <span class="code">agents.conf</span>.</p> <p>This function tries to register the specified managed agents, without checking if any of them exist. To change a registered managed agent, the agent must first be unregistered.</p> </p></div> <p><a name="register_users-2"><span class="bold_code">register_users(MgrAgentConfName, Users) -> ok | {error, Reason}</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Users = [user()]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="register_users-2"></a> <p>Registers the manager entity (=user) responsible for specific agent(s). Corresponds to making an entry in <span class="code">users.conf</span>.</p> <p>This function tries to register the specified users, without checking if any of them exist. To change a registered user, the user must first be unregistered.</p> </p></div> <p><a name="register_usm_users-2"><span class="bold_code">register_usm_users(MgrAgentConfName, UsmUsers) -> ok | {error, Reason}</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">UsmUsers = [usm_user()]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="register_usm_users-2"></a> <p>Explicitly instructs the manager to handle this USM user. Corresponds to making an entry in <span class="code">usm.conf</span>.</p> <p>This function tries to register the specified users, without checking if any of them exist. To change a registered user, the user must first be unregistered.</p> </p></div> <p><a name="set_info-1"><span class="bold_code">set_info(Config) -> [{Agent, OldVarsAndVals, NewVarsAndVals}]</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Config = [{Key, Value}]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Agent = agent_name()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">OldVarsAndVals = varsandvals()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">NewVarsAndVals = varsandvals()</span><br> </div> </div> <div class="REFBODY"><p><a name="set_info-1"></a> <p>Returns a list of all successful <span class="code">set</span> requests performed in the test case in reverse order. The list contains the involved user and agent, the value before <span class="code">set</span>, and the new value. This is intended to simplify the cleanup in function <span class="code">end_per_testcase</span>, that is, the undoing of the <span class="code">set</span> requests and their possible side-effects.</p> </p></div> <p><a name="set_values-4"><span class="bold_code">set_values(Agent, VarsAndVals, MgrAgentConfName, Config) -> SnmpReply</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Agent = agent_name()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Oids = oids()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Config = [{Key, Value}]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">SnmpReply = snmpreply()</span><br> </div> </div> <div class="REFBODY"><p><a name="set_values-4"></a> <p>Issues a synchronous SNMP <span class="code">set</span> request.</p> </p></div> <p><a name="start-2"><span class="bold_code">start(Config, MgrAgentConfName) -> ok</span></a><br></p> <div class="REFBODY"><p><a name="start-2"></a> <p>Equivalent to <span class="bold_code"><a href="#start-3"><span class="code">ct_snmp:start(Config, MgrAgentConfName, undefined)</span></a></span>.</p> </p></div> <p><a name="start-3"><span class="bold_code">start(Config, MgrAgentConfName, SnmpAppConfName) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Config = [{Key, Value}]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Key = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Value = term()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">SnmpConfName = atom()</span><br> </div> </div> <div class="REFBODY"><p><a name="start-3"></a> <p>Starts an SNMP manager and/or agent. In the manager case, registrations of users and agents, as specified by the configuration <span class="code">MgrAgentConfName</span>, are performed. When using SNMPv3, called USM users are also registered. Users, <span class="code">usm_users</span>, and managed agents can also be registered later using <span class="bold_code"><a href="#register_users-2"><span class="code">ct_snmp:register_users/2</span></a></span>, <span class="bold_code"><a href="#register_agents-2"><span class="code">ct_snmp:register_agents/2</span></a></span>, and <span class="bold_code"><a href="#register_usm_users-2"><span class="code">ct_snmp:register_usm_users/2</span></a></span>.</p> <p>The agent started is called <span class="code">snmp_master_agent</span>. Use <span class="bold_code"><a href="#load_mibs-1"><span class="code">ct_snmp:load_mibs/1</span></a></span> to load MIBs into the agent.</p> <p>With <span class="code">SnmpAppConfName</span> SNMP applications can be configured with parameters <span class="code">config</span>, <span class="code">mibs</span>, <span class="code">net_if</span>, and so on. The values are merged with (and possibly override) default values set by <span class="code">ct_snmp</span>.</p> </p></div> <p><a name="stop-1"><span class="bold_code">stop(Config) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Config = [{Key, Value}]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Key = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Value = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="stop-1"></a> <p>Stops the SNMP manager and/or agent, and removes all files created.</p> </p></div> <p><a name="unload_mibs-1"><span class="bold_code">unload_mibs(Mibs) -> ok | {error, Reason}</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">Mibs = [MibName]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">MibName = string()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="unload_mibs-1"></a> <p>Unloads the MIBs from agent <span class="code">snmp_master_agent</span>.</p> </p></div> <p><a name="unregister_agents-1"><span class="bold_code">unregister_agents(MgrAgentConfName) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="unregister_agents-1"></a> <p>Unregisters all managed agents.</p> </p></div> <p><a name="unregister_agents-2"><span class="bold_code">unregister_agents(MgrAgentConfName, ManagedAgents) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">ManagedAgents = [agent_name()]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="unregister_agents-2"></a> <p>Unregisters the specified managed agents.</p> </p></div> <p><a name="unregister_users-1"><span class="bold_code">unregister_users(MgrAgentConfName) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="unregister_users-1"></a> <p>Unregisters all users.</p> </p></div> <p><a name="unregister_users-2"><span class="bold_code">unregister_users(MgrAgentConfName, Users) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Users = [user_name()]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="unregister_users-2"></a> <p>Unregisters the specified users.</p> </p></div> <p><a name="unregister_usm_users-1"><span class="bold_code">unregister_usm_users(MgrAgentConfName) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="unregister_usm_users-1"></a> <p>Unregisters all USM users.</p> </p></div> <p><a name="unregister_usm_users-2"><span class="bold_code">unregister_usm_users(MgrAgentConfName, UsmUsers) -> ok</span></a><br></p> <div class="REFBODY"> <p>Types:</p> <div class="REFTYPES"> <span class="bold_code">MgrAgentConfName = atom()</span><br> </div> <div class="REFTYPES"> <span class="bold_code">UsmUsers = [usm_user_name()]</span><br> </div> <div class="REFTYPES"> <span class="bold_code">Reason = term()</span><br> </div> </div> <div class="REFBODY"><p><a name="unregister_usm_users-2"></a> <p>Unregisters the specified USM users.</p> </p></div> </div> <div class="footer"> <hr> <p>Copyright © 2003-2018 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>