shutdown.c revision 52419
187182Salfred 287182Salfred/* 3254673Skib * shutdown.c 487182Salfred * 5254673Skib * Copyright (c) 1996-1999 Whistle Communications, Inc. 6254673Skib * All rights reserved. 7254673Skib * 887182Salfred * Subject to the following obligations and disclaimer of warranty, use and 987182Salfred * redistribution of this software, in source or object code forms, with or 1087182Salfred * without modifications are expressly permitted by Whistle Communications; 1187182Salfred * provided, however, that: 1287182Salfred * 1. Any and all reproductions of the source or object code must include the 1387182Salfred * copyright notice above and the following disclaimer of warranties; and 1487182Salfred * 2. No rights are granted, in any manner or form, to use Whistle 1587182Salfred * Communications, Inc. trademarks, including the mark "WHISTLE 1687182Salfred * COMMUNICATIONS" on advertising, endorsements, or otherwise except as 1787182Salfred * such appears in the above copyright notice or in the software. 1887182Salfred * 1987182Salfred * THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND 2087182Salfred * TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO 2187182Salfred * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE, 2287182Salfred * INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF 2387182Salfred * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. 2487182Salfred * WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY 2587182Salfred * REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS 2687182Salfred * SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE. 2787182Salfred * IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES 2887182Salfred * RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING 2987182Salfred * WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 3087182Salfred * PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR 3187182Salfred * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 3287182Salfred * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33254673Skib * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 3487182Salfred * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 3587182Salfred * OF SUCH DAMAGE. 3687182Salfred * 3787182Salfred * $FreeBSD: head/usr.sbin/ngctl/shutdown.c 52419 1999-10-21 09:06:11Z julian $ 3887182Salfred */ 3987182Salfred 4087182Salfred#include "ngctl.h" 4187182Salfred 4287182Salfredstatic int ShutdownCmd(int ac, char **av); 4387182Salfred 4487182Salfredconst struct ngcmd shutdown_cmd = { 4587182Salfred ShutdownCmd, 4687182Salfred "shutdown <path>", 4787182Salfred "Shutdown the node at <path>", 4887182Salfred NULL 4987182Salfred}; 5087182Salfred 5187857Srustatic int 5287182SalfredShutdownCmd(int ac, char **av) 5387182Salfred{ 5487857Sru char *path; 55254673Skib 5687182Salfred /* Get arguments */ 57254673Skib switch (ac) { 58254673Skib case 2: 59254673Skib path = av[1]; 60254673Skib break; 61254673Skib default: 62254673Skib return(CMDRTN_USAGE); 63254673Skib } 64254673Skib 65254673Skib /* Shutdown node */ 66254673Skib if (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, 67256114Sjmg NGM_SHUTDOWN, NULL, 0) < 0) { 68254673Skib warn("shutdown"); 69254673Skib return(CMDRTN_ERROR); 70254673Skib } 71254673Skib return(CMDRTN_OK); 72254673Skib} 73254673Skib 74254673Skib 75254673Skib