1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/* $Id$ */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/** @file
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * SUPInstall - Driver Install
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * Copyright (C) 2006-2011 Oracle Corporation
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync *
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * available from http://www.virtualbox.org. This file is free software;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * you can redistribute it and/or modify it under the terms of the GNU
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * General Public License (GPL) as published by the Free Software
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync *
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * The contents of this file may alternatively be used under the terms
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * of the Common Development and Distribution License Version 1.0
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * VirtualBox OSE distribution, in which case the provisions of the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * CDDL are applicable instead of those of the GPL.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync *
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * You may elect to license modified versions of this file under the
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync * terms and conditions of either the GPL or the CDDL or both.
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync */
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync/*******************************************************************************
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync* Header Files *
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync*******************************************************************************/
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#include <VBox/sup.h>
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#include <VBox/err.h>
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#include <iprt/initterm.h>
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync#include <iprt/message.h>
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncint main(int argc, char **argv)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync{
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync RTR3InitExeNoArguments(0);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if (argc != 1)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return RTMsgErrorExit(RTEXITCODE_SYNTAX, "This utility takes no arguments");
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync NOREF(argv);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync int rc = SUPR3Install();
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if (RT_SUCCESS(rc))
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync {
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if (rc == VINF_SUCCESS)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync RTMsgInfo("Installed successfully!");
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync else if (rc == VINF_ALREADY_INITIALIZED)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync RTMsgInfo("Already loaded.");
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync else if (rc == VWRN_ALREADY_EXISTS)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync RTMsgInfo("Service already existed; started successfully.");
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync else
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync RTMsgInfo("Unexpected status: %Rrc", rc);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return RTEXITCODE_SUCCESS;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync }
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return RTMsgErrorExit(RTEXITCODE_FAILURE, "installation failed. rc=%Rrc", rc);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync}
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync