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