summaryrefslogtreecommitdiffstats
path: root/devices/shutdown.h
blob: dc4f942384d44f210469b83b4b412799bb86213f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef DEVICES_SHUTDOWN_H
#define DEVICES_SHUTDOWN_H

#include <debug.h>

/* How to shut down when Pintos has nothing left to do. */
enum shutdown_type
  {
    SHUTDOWN_NONE,              /* Loop forever. */
    SHUTDOWN_POWER_OFF,         /* Power off the machine (if possible). */
    SHUTDOWN_REBOOT,            /* Reboot the machine (if possible). */
  };

void shutdown (void);
void shutdown_configure (enum shutdown_type);
void shutdown_reboot (void) NO_RETURN;
void shutdown_power_off (void) NO_RETURN;

#endif /* devices/shutdown.h */