Advertisement
Guest User

dsme.patch

a guest
Jan 3rd, 2013
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.13 KB | None | 0 0
  1. diff --git a/util/dsmetool.c b/util/dsmetool.c
  2. index af0fae4..2573e9f 100644
  3. --- a/util/dsmetool.c
  4. +++ b/util/dsmetool.c
  5. @@ -98,6 +98,7 @@ void usage(const char* name)
  6.  #if 0 // TODO
  7.  "  -s --stop-dbus                  Stop DSME's D-Bus services\n"
  8.  #endif
  9. +"  -p --poweroff                   Power off the device\n"
  10.  "  -b --reboot                     Reboot the device\n"
  11.  "  -v --version                    Print the versions of DSME and dsmetool\n"
  12.  "  -h --help                       Print usage\n"
  13. @@ -348,6 +349,17 @@ static int send_dbus_service_stop_request()
  14.      return EXIT_SUCCESS;
  15.  }
  16.  
  17. +static int send_poweroff_request()
  18. +{
  19. +    DSM_MSGTYPE_SHUTDOWN_REQ msg = DSME_MSG_INIT(DSM_MSGTYPE_SHUTDOWN_REQ);
  20. +
  21. +    connect_to_dsme();
  22. +    send_to_dsme(&msg);
  23. +    disconnect_from_dsme();
  24. +
  25. +    return EXIT_SUCCESS;
  26. +}
  27. +
  28.  static int send_reboot_request()
  29.  {
  30.      DSM_MSGTYPE_REBOOT_REQ msg = DSME_MSG_INIT(DSM_MSGTYPE_REBOOT_REQ);
  31. @@ -389,7 +401,7 @@ int main(int argc, char* argv[])
  32.      enum { NONE, START, STOP } action = NONE;
  33.      const char* program       = "";
  34.      process_actions_t policy  = ONCE;
  35. -    const char* short_options = "n:m:hr:f:t:o:c:T:k:S:u:g:U:G:dsbva";
  36. +    const char* short_options = "n:m:hr:f:t:o:c:T:k:S:u:g:U:G:dspbva";
  37.      const struct option long_options[] = {
  38.          {"help",               0, NULL, 'h'},
  39.          {"start-reset",        1, NULL, 'r'},
  40. @@ -408,6 +420,7 @@ int main(int argc, char* argv[])
  41.          {"oom-adj",            1, NULL, 'm'},
  42.          {"start-dbus",         0, NULL, 'd'},
  43.          {"stop-dbus",          0, NULL, 's'},
  44. +        {"poweroff",           0, NULL, 'p'},
  45.          {"reboot",             0, NULL, 'b'},
  46.          {"version",            0, NULL, 'v'},
  47.          {"ta-test",            0, NULL, 'a'},
  48. @@ -477,6 +490,9 @@ int main(int argc, char* argv[])
  49.              case 's':
  50.                  return send_dbus_service_stop_request();
  51.                  break;
  52. +            case 'p':
  53. +                return send_poweroff_request();
  54. +                break;
  55.              case 'b':
  56.                  return send_reboot_request();
  57.                  break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement