shutdown.c revision 52419
1193326Sed 2193326Sed/* 3193326Sed * shutdown.c 4193326Sed * 5193326Sed * Copyright (c) 1996-1999 Whistle Communications, Inc. 6193326Sed * All rights reserved. 7193326Sed * 8193326Sed * Subject to the following obligations and disclaimer of warranty, use and 9193326Sed * redistribution of this software, in source or object code forms, with or 10193326Sed * without modifications are expressly permitted by Whistle Communications; 11193326Sed * provided, however, that: 12193326Sed * 1. Any and all reproductions of the source or object code must include the 13193326Sed * copyright notice above and the following disclaimer of warranties; and 14193326Sed * 2. No rights are granted, in any manner or form, to use Whistle 15193326Sed * Communications, Inc. trademarks, including the mark "WHISTLE 16193326Sed * COMMUNICATIONS" on advertising, endorsements, or otherwise except as 17193326Sed * such appears in the above copyright notice or in the software. 18193326Sed * 19193326Sed * THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND 20193326Sed * TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO 21193326Sed * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE, 22193326Sed * INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF 23193326Sed * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. 24193326Sed * WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY 25193326Sed * REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS 26193326Sed * SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE. 27193326Sed * IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES 28193326Sed * RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING 29193326Sed * WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 30193326Sed * PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR 31193326Sed * SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY 32193326Sed * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33193326Sed * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 34193326Sed * THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY 35193326Sed * OF SUCH DAMAGE. 36193326Sed * 37193326Sed * $FreeBSD: head/usr.sbin/ngctl/shutdown.c 52419 1999-10-21 09:06:11Z julian $ 38193326Sed */ 39193326Sed 40193326Sed#include "ngctl.h" 41193326Sed 42193326Sedstatic int ShutdownCmd(int ac, char **av); 43193326Sed 44193326Sedconst struct ngcmd shutdown_cmd = { 45193326Sed ShutdownCmd, 46193326Sed "shutdown <path>", 47193326Sed "Shutdown the node at <path>", 48193326Sed NULL 49193326Sed}; 50193326Sed 51193326Sedstatic int 52193326SedShutdownCmd(int ac, char **av) 53193326Sed{ 54193326Sed char *path; 55193326Sed 56193326Sed /* Get arguments */ 57193326Sed switch (ac) { 58193326Sed case 2: 59193326Sed path = av[1]; 60193326Sed break; 61193326Sed default: 62193326Sed return(CMDRTN_USAGE); 63193326Sed } 64193326Sed 65193326Sed /* Shutdown node */ 66193326Sed if (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, 67193326Sed NGM_SHUTDOWN, NULL, 0) < 0) { 68193326Sed warn("shutdown"); 69193326Sed return(CMDRTN_ERROR); 70193326Sed } 71193326Sed return(CMDRTN_OK); 72193326Sed} 73193326Sed 74193326Sed 75193326Sed