*                              
 *                              service
 *                              The short name of the service. This is the name that you will use to control the
 *                              service
 *                              using the net command. The service must be unique (no two services can share the same
 *                              name), and, ideally, should avoid having spaces in the name.
 *                              
 *
 *                          
 *                              display
 *                              The display name of the service. This is the name that you will see in the Services
 *                              Applet.
 *                          
 *
 *                          
 *                              description
 *                              The long description of the service. This is the description that you will see in the
 *                              Services Applet.
 *                          
 *
 *                          
 *                              user
 *                              The name of the user account under which you want the service to run. If omitted, the
 *                              service will run as the LocalSystem account. If the username is specified, you must
 *                              also provide a password.
 *                          
 *
 *                          
 *                              password
 *                              The password that corresponds to the user.
 *                          
 *
 *                          
 *                              path
 *                              The full path to the executable module that will be launched when the service is
 *                              started. If omitted, the path to the current PHP process will be used.
 *                          
 *
 *                          
 *                              params
 *                              Command line parameters to pass to the service when it starts. If you want to run a PHP
 *                              script as the service, then the first parameter should be the full path to the PHP
 *                              script that you intend to run. If the script name or path contains spaces, then wrap
 *                              the full path to the PHP script with ".
 *                          
 *
 *                          
 *                              load_order
 *                              Controls the load_order. This is not yet fully supported.
 *                          
 *
 *                          
 *                              svc_type
 *                              Sets the service type. If omitted, the default value is
 *                              WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know what you're doing.
 *                          
 *
 *                          
 *                              start_type
 *                              Specifies how the service should be started. The default is WIN32_SERVICE_AUTO_START
 *                              which means the service will be launched when the machine starts up.
 *                          
 *
 *                          
 *                              error_control
 *                              Informs the SCM what it should do when it detects a problem with the service. The
 *                              default is WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully supported.
 *                          
 *
 *                          
 *                              delayed_start
 *                              If delayed_start is set to TRUE, then this will inform the SCM that this service should
 *                              be started after other auto-start services are started plus a short delay.
 *
 *                              Any service can be marked as a delayed auto-start service; however, this setting has no
 *                              effect unless the service's start_type is WIN32_SERVICE_AUTO_START.
 *
 *                              This setting is only applicable on Windows Vista and Windows Server 2008 or greater.
 *                          
 *
 *                          
 *                              base_priority
 *                              To reduce the impact on processor utilisation, it may be necessary to set a base
 *                              priority lower than normal.
 *
 *                              The base_priority can be set to one of the constants define in Win32 Base Priority
 *                              Classes.
 *                          
 * 
 * @param string $machine       The optional machine name on which you want to create a service. If omitted, it will
 *                              use the local machine.
 *
 * @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
 *             on failure.
 */
function win32_create_service($details, $machine = "") {}
/**
 *  Deletes a service entry from the SCM database
 *  This function really just marks the service for deletion. If other processes (such as the Services Applet) are
 *  open, then the deletion will be deferred until those applications are closed. If a service is marked for deletion,
 *  further attempts to delete it will fail, and attempts to create a new service with that name will also fail.
 *
 * @param string $serviceName The short name of the service.
 * @param string $machine     Optional machine name. If omitted, the local machine is used.
 *
 * @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
 *             on failure.
 */
function win32_delete_service($serviceName, $machine = "") {}
/**
 *   Returns the last control message that was sent to this service
 *   When running as a service you should periodically check this to determine if your service needs to stop running.
 * 
 *  Caution
 *  Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.
 * 
 *
 * @return int Returns a control constant which will be one of the Win32Service Service Control Message Constants:
 *             WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE,
 *             WIN32_SERVICE_CONTROL_PRESHUTDOWN, WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.
 */
function win32_get_last_control_message() {}
/**
 * Pauses a named service. Requires administrative privileges.
 *
 * @param string $serviceName The short name of the service.
 * @param string $machine     Optional machine name. If omitted, the local machine is used.
 *
 * @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
 *             on failure.
 */
function win32_pause_service($serviceName, $machine = "") {}
/**
 * Queries the current status for a service, returning an array of information.
 *
 * @param string $serviceName The short name of the service.
 * @param string $machine     Optional machine name. If omitted, the local machine is used.
 *
 * @return array|false Returns an array consisting of the following information on success, FALSE if there is a problem with
 *               the parameters or a Win32 Error Code on failure.
 *               
 *                   - 
 *                       ServiceType
 *                       The dwServiceType. See Win32Service Service Type Bitmasks.
 *                   *
- 
 *                       CurrentState
 *                       The dwCurrentState. See Win32Service Service Status Constants.
 *                   *
- 
 *                       ControlsAccepted
 *                       Which service controls are accepted by the service. See Win32Service Service Control Message
 *                       Accepted Bitmasks.
 *                   *
- 
 *                       Win32ExitCode
 *                       If the service exited, the return code from the process.
 *                   *
- 
 *                       ServiceSpecificExitCode
 *                       If the service exited with an error condition, the service specific code that is logged in the
 *                       event log is visible here.
 *                   *
- 
 *                       CheckPoint
 *                        If the service is shutting down, holds the current check point number. This is used by the
 *                        SCM as a kind of heart-beat to detect a wedged service process. The value of the check point
 *                        is best interpreted in conjunction with the WaitHint value.
 *                   *
- 
 *                       WaitHint
 *                       If the service is shutting down it will set WaitHint to a checkpoint value that will indicate
 *                       100% completion. This can be used to implement a progress indicator.
 *                   *
- 
 *                       ProcessId
 *                       The Windows process identifier. If 0, the process is not running.
 *                   *
- 
 *                       ServiceFlags
 *                       The dwServiceFlags. See Win32Service Service Service Flag Constants.
 *                   *
*/
function win32_query_service_status($serviceName, $machine = "") {}
/**
 *   Update the service status
 * Informs the SCM of the current status of a running service. This call is only valid for a running service process.
 *
 *  Caution
 *  Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.
 * 
 *
 * @param int $status           The service status code, one of WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED,
 *                              WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING,
 *                              WIN32_SERVICE_CONTINUE_PENDING,
 *                              WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.
 * @param int $checkpoint       The checkpoint value the service increments periodically to report its progress during
 *                              a lengthy start, stop, pause, or continue operation. For example, the service should
 *                              increment this value as it completes each step of its initialization when it is
 *                              starting up. The checkpoint is only valid when the status is one of
 *                              WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING
 *                              or WIN32_SERVICE_PAUSE_PENDING.
 *
 * @return bool|int Returns TRUE on success, FALSE if there is a problem with the parameters or a Win32 Error Code on
 *             failure.
 */
function win32_set_service_status($status, $checkpoint = 0) {}
/**
 * Registers the script with the SCM, so that it can act as the service with the given name
 * When launched via the Service Control Manager, a service process is required to "check-in" with it to establish
 * service monitoring and communication facilities. This function performs the check-in by spawning a thread to handle
 * the lower-level communication with the service control manager.
 *
 * Once started, the service process should do 2 things. The first is to tell the Service Control Manager that the
 * service is running. This is achieved by calling win32_set_service_status() with the WIN32_SERVICE_RUNNING constant.
 * If you need to perform some lengthy process before the service is actually running, then you can use the
 * WIN32_SERVICE_START_PENDING constant. The second is to continue to check-in with the service control manager so that
 * it can determine if it should terminate. This is achieved by periodically calling win32_get_last_control_message()
 * and handling the return code appropriately.
 * 
 *  Caution
 *  Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.
 * 
 *
 * @param string $name The short-name of the service, as registered by win32_create_service().
 *
 * @return bool|int Returns TRUE on success, FALSE if there is a problem with the parameters or a Win32 Error Code on
 *               failure.
 */
function win32_start_service_ctrl_dispatcher($name) {}
/**
 *   Starts a service
 * Attempts to start the named service. Usually requires administrative privileges.
 *
 * @param string $serviceName The short name of the service.
 * @param string $machine     Optional machine name. If omitted, the local machine is used.
 *
 * @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
 *             on failure.
 */
function win32_start_service($serviceName, $machine = "") {}
/**
 *   Stops a named service. Requires administrative privileges.
 *
 * @param string $serviceName The short name of the service.
 * @param string $machine     Optional machine name. If omitted, the local machine is used.
 *
 * @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
 *             on failure.
 */
function win32_stop_service($serviceName, $machine = "") {}