1343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme/* 2343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * Copyright (C) 2009 The Android Open Source Project 3343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * 4343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * Licensed under the Apache License, Version 2.0 (the "License"); 5343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * you may not use this file except in compliance with the License. 6343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * You may obtain a copy of the License at 7343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * 8343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * http://www.apache.org/licenses/LICENSE-2.0 9343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * 10343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * Unless required by applicable law or agreed to in writing, software 11343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * distributed under the License is distributed on an "AS IS" BASIS, 12343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * See the License for the specific language governing permissions and 14343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * limitations under the License. 15343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme */ 16343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme 17343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme/* 18343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme * Command that dumps interesting system state to the log. 19343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme */ 20343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme 21343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme#include "dumpsys.h" 22343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme 23343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme#include <binder/IServiceManager.h> 24343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme#include <binder/TextOutput.h> 25343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme 26343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme#include <signal.h> 27343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme#include <stdio.h> 28343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme 29343175a5ffeba6d1714336913a81b3029df73dbbFelipe Lemeusing namespace android; 30343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme 31343175a5ffeba6d1714336913a81b3029df73dbbFelipe Lemeint main(int argc, char* const argv[]) { 32343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme signal(SIGPIPE, SIG_IGN); 33343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme sp<IServiceManager> sm = defaultServiceManager(); 34343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme fflush(stdout); 35343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme if (sm == nullptr) { 36343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme ALOGE("Unable to get default service manager!"); 37343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme aerr << "dumpsys: Unable to get default service manager!" << endl; 38343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme return 20; 39343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme } 40343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme 412c3cd83603a7eefe7efe8c99cbe1c04b54cfe599Steven Moreland Dumpsys dumpsys(sm.get()); 42343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme return dumpsys.main(argc, argv); 43343175a5ffeba6d1714336913a81b3029df73dbbFelipe Leme} 44