1e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall/*
2e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * Copyright 2011, The Android Open Source Project
3e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall *
4e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * Licensed under the Apache License, Version 2.0 (the "License");
5e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * you may not use this file except in compliance with the License.
6e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * You may obtain a copy of the License at
7e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall *
8e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall *     http://www.apache.org/licenses/LICENSE-2.0
9e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall *
10e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * Unless required by applicable law or agreed to in writing, software
11e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * distributed under the License is distributed on an "AS IS" BASIS,
12e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * See the License for the specific language governing permissions and
14e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall * limitations under the License.
15e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall */
16e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall
17e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall#ifndef __CUTILS_ANDROID_REBOOT_H__
18e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall#define __CUTILS_ANDROID_REBOOT_H__
19e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall
200df08271fb41e13550a4f2aa1fbdeb76b9a548c6Yusuke Sato
21e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall__BEGIN_DECLS
22e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall
23e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall/* Commands */
248d01f63f50fb001f41835a0dab636981f2ba76ddKeun-young Park#define ANDROID_RB_RESTART 0xDEAD0001 /* deprecated. Use RESTART2. */
25e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall#define ANDROID_RB_POWEROFF 0xDEAD0002
26e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall#define ANDROID_RB_RESTART2 0xDEAD0003
2737bba3b88ad226cba8fbba0c7e1a6eb55213170aTodd Poynor#define ANDROID_RB_THERMOFF 0xDEAD0004
28e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall
29ca8e66a8b0f843812014a28d49208f9f6f64ecbcNick Kralevich/* Properties */
30ca8e66a8b0f843812014a28d49208f9f6f64ecbcNick Kralevich#define ANDROID_RB_PROPERTY "sys.powerctl"
31e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall
32eac33da63b118c79e117b289216bcbdb5c0beed3Todd Poynor/* Android reboot reason stored in this file */
33e63f366ee32667fb7c32513c9770fa24bac1fcb4Todd Poynor#define LAST_REBOOT_REASON_FILE "/data/misc/reboot/last_reboot_reason"
34eac33da63b118c79e117b289216bcbdb5c0beed3Todd Poynor
358d01f63f50fb001f41835a0dab636981f2ba76ddKeun-young Park/* Reboot or shutdown the system.
368d01f63f50fb001f41835a0dab636981f2ba76ddKeun-young Park * This call uses ANDROID_RB_PROPERTY to request reboot to init process.
378d01f63f50fb001f41835a0dab636981f2ba76ddKeun-young Park * Due to that, process calling this should have proper selinux permission
388d01f63f50fb001f41835a0dab636981f2ba76ddKeun-young Park * to write to the property. Otherwise, the call will fail.
398d01f63f50fb001f41835a0dab636981f2ba76ddKeun-young Park */
400068da6a9355fae96549f9f50289648971cd64cdElliott Hughesint android_reboot(int cmd, int flags, const char *arg);
41e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall
42e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall__END_DECLS
43e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall
44e3aeeb4de34dbb93e832e6554f494122ba633f3bKen Sumrall#endif /* __CUTILS_ANDROID_REBOOT_H__ */
45