Loading cmds/service/service.cpp +35 −30 Original line number Diff line number Diff line Loading @@ -77,6 +77,9 @@ int main(int argc, char* const argv[]) bool wantsUsage = false; int result = 0; /* Strip path off the program name. */ char* prog_name = basename(argv[0]); while (1) { int ic = getopt(argc, argv, "h?"); if (ic < 0) Loading @@ -88,7 +91,7 @@ int main(int argc, char* const argv[]) wantsUsage = true; break; default: aerr << "service: Unknown option -" << ic << endl; aerr << prog_name << ": Unknown option -" << ic << endl; wantsUsage = true; result = 10; break; Loading @@ -103,7 +106,7 @@ int main(int argc, char* const argv[]) sp<IServiceManager> sm = defaultServiceManager(); fflush(stdout); if (sm == nullptr) { aerr << "service: Unable to get default service manager!" << endl; aerr << prog_name << ": Unable to get default service manager!" << endl; return 20; } Loading @@ -117,7 +120,7 @@ int main(int argc, char* const argv[]) aout << "Service " << argv[optind] << (service == nullptr ? ": not found" : ": found") << endl; } else { aerr << "service: No service specified for check" << endl; aerr << prog_name << ": No service specified for check" << endl; wantsUsage = true; result = 10; } Loading Loading @@ -152,7 +155,7 @@ int main(int argc, char* const argv[]) if (strcmp(argv[optind], "i32") == 0) { optind++; if (optind >= argc) { aerr << "service: no integer supplied for 'i32'" << endl; aerr << prog_name << ": no integer supplied for 'i32'" << endl; wantsUsage = true; result = 10; break; Loading @@ -161,7 +164,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "i64") == 0) { optind++; if (optind >= argc) { aerr << "service: no integer supplied for 'i64'" << endl; aerr << prog_name << ": no integer supplied for 'i64'" << endl; wantsUsage = true; result = 10; break; Loading @@ -170,7 +173,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "s16") == 0) { optind++; if (optind >= argc) { aerr << "service: no string supplied for 's16'" << endl; aerr << prog_name << ": no string supplied for 's16'" << endl; wantsUsage = true; result = 10; break; Loading @@ -179,7 +182,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "f") == 0) { optind++; if (optind >= argc) { aerr << "service: no number supplied for 'f'" << endl; aerr << prog_name << ": no number supplied for 'f'" << endl; wantsUsage = true; result = 10; break; Loading @@ -188,7 +191,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "d") == 0) { optind++; if (optind >= argc) { aerr << "service: no number supplied for 'd'" << endl; aerr << prog_name << ": no number supplied for 'd'" << endl; wantsUsage = true; result = 10; break; Loading @@ -200,7 +203,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "fd") == 0) { optind++; if (optind >= argc) { aerr << "service: no path supplied for 'fd'" << endl; aerr << prog_name << ": no path supplied for 'fd'" << endl; wantsUsage = true; result = 10; break; Loading @@ -208,7 +211,7 @@ int main(int argc, char* const argv[]) const char *path = argv[optind++]; int fd = open(path, O_RDONLY); if (fd < 0) { aerr << "service: could not open '" << path << "'" << endl; aerr << prog_name << ": could not open '" << path << "'" << endl; wantsUsage = true; result = 10; break; Loading @@ -217,7 +220,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "afd") == 0) { optind++; if (optind >= argc) { aerr << "service: no path supplied for 'afd'" << endl; aerr << prog_name << ": no path supplied for 'afd'" << endl; wantsUsage = true; result = 10; break; Loading @@ -226,7 +229,8 @@ int main(int argc, char* const argv[]) int fd = open(path, O_RDONLY); struct stat statbuf; if (fd < 0 || fstat(fd, &statbuf) != 0) { aerr << "service: could not open or stat '" << path << "'" << endl; aerr << prog_name << ": could not open or stat" << " '" << path << "'" << endl; wantsUsage = true; result = 10; break; Loading @@ -240,7 +244,8 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "nfd") == 0) { optind++; if (optind >= argc) { aerr << "service: no file descriptor supplied for 'nfd'" << endl; aerr << prog_name << ": no file descriptor supplied for" << " 'nfd'" << endl; wantsUsage = true; result = 10; break; Loading Loading @@ -327,7 +332,7 @@ int main(int argc, char* const argv[]) // for now just set the extra field to be null. data.writeInt32(-1); } else { aerr << "service: unknown option " << argv[optind] << endl; aerr << prog_name << ": unknown option " << argv[optind] << endl; wantsUsage = true; result = 10; break; Loading @@ -337,32 +342,32 @@ int main(int argc, char* const argv[]) service->transact(code, data, &reply); aout << "Result: " << reply << endl; } else { aerr << "service: Service " << argv[serviceArg] aerr << prog_name << ": Service " << argv[serviceArg] << " does not exist" << endl; result = 10; } } else { if (optind < argc) { aerr << "service: No service specified for call" << endl; aerr << prog_name << ": No service specified for call" << endl; } else { aerr << "service: No code specified for call" << endl; aerr << prog_name << ": No code specified for call" << endl; } wantsUsage = true; result = 10; } } else { aerr << "service: Unknown command " << argv[optind] << endl; aerr << prog_name << ": Unknown command " << argv[optind] << endl; wantsUsage = true; result = 10; } } if (wantsUsage) { aout << "Usage: service [-h|-?]\n" " service list\n" " service check SERVICE\n" " service call SERVICE CODE [i32 N | i64 N | f N | d N | s16 STR | null" " | fd f | nfd n | afd f ] ...\n" aout << "Usage: " << prog_name << " [-h|-?]\n" " " << prog_name << " list\n" " " << prog_name << " check SERVICE\n" " " << prog_name << " call SERVICE CODE [i32 N | i64 N | f N | d N | s16 STR" " | null | fd f | nfd n | afd f ] ...\n" "Options:\n" " i32: Write the 32-bit integer N into the send parcel.\n" " i64: Write the 64-bit integer N into the send parcel.\n" Loading @@ -370,11 +375,11 @@ int main(int argc, char* const argv[]) " d: Write the 64-bit double-precision number N into the send parcel.\n" " s16: Write the UTF-16 string STR into the send parcel.\n" " null: Write a null binder into the send parcel.\n" " fd: Write a file descriptor for the file f to the send parcel.\n" " nfd: Write file descriptor n to the send parcel.\n" " afd: Write an ashmem file descriptor for a region containing the data from" " file f to the send parcel.\n"; // " intent: Write and Intent int the send parcel. ARGS can be\n" " fd: Write a file descriptor for the file f into the send parcel.\n" " nfd: Write the file descriptor n into the send parcel.\n" " afd: Write an ashmem file descriptor for a region containing the data from\n" " file f into the send parcel.\n"; // " intent: Write an Intent into the send parcel. ARGS can be\n" // " action=STR data=STR type=STR launchFlags=INT component=STR categories=STR[,STR,...]\n"; return result; } Loading Loading
cmds/service/service.cpp +35 −30 Original line number Diff line number Diff line Loading @@ -77,6 +77,9 @@ int main(int argc, char* const argv[]) bool wantsUsage = false; int result = 0; /* Strip path off the program name. */ char* prog_name = basename(argv[0]); while (1) { int ic = getopt(argc, argv, "h?"); if (ic < 0) Loading @@ -88,7 +91,7 @@ int main(int argc, char* const argv[]) wantsUsage = true; break; default: aerr << "service: Unknown option -" << ic << endl; aerr << prog_name << ": Unknown option -" << ic << endl; wantsUsage = true; result = 10; break; Loading @@ -103,7 +106,7 @@ int main(int argc, char* const argv[]) sp<IServiceManager> sm = defaultServiceManager(); fflush(stdout); if (sm == nullptr) { aerr << "service: Unable to get default service manager!" << endl; aerr << prog_name << ": Unable to get default service manager!" << endl; return 20; } Loading @@ -117,7 +120,7 @@ int main(int argc, char* const argv[]) aout << "Service " << argv[optind] << (service == nullptr ? ": not found" : ": found") << endl; } else { aerr << "service: No service specified for check" << endl; aerr << prog_name << ": No service specified for check" << endl; wantsUsage = true; result = 10; } Loading Loading @@ -152,7 +155,7 @@ int main(int argc, char* const argv[]) if (strcmp(argv[optind], "i32") == 0) { optind++; if (optind >= argc) { aerr << "service: no integer supplied for 'i32'" << endl; aerr << prog_name << ": no integer supplied for 'i32'" << endl; wantsUsage = true; result = 10; break; Loading @@ -161,7 +164,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "i64") == 0) { optind++; if (optind >= argc) { aerr << "service: no integer supplied for 'i64'" << endl; aerr << prog_name << ": no integer supplied for 'i64'" << endl; wantsUsage = true; result = 10; break; Loading @@ -170,7 +173,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "s16") == 0) { optind++; if (optind >= argc) { aerr << "service: no string supplied for 's16'" << endl; aerr << prog_name << ": no string supplied for 's16'" << endl; wantsUsage = true; result = 10; break; Loading @@ -179,7 +182,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "f") == 0) { optind++; if (optind >= argc) { aerr << "service: no number supplied for 'f'" << endl; aerr << prog_name << ": no number supplied for 'f'" << endl; wantsUsage = true; result = 10; break; Loading @@ -188,7 +191,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "d") == 0) { optind++; if (optind >= argc) { aerr << "service: no number supplied for 'd'" << endl; aerr << prog_name << ": no number supplied for 'd'" << endl; wantsUsage = true; result = 10; break; Loading @@ -200,7 +203,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "fd") == 0) { optind++; if (optind >= argc) { aerr << "service: no path supplied for 'fd'" << endl; aerr << prog_name << ": no path supplied for 'fd'" << endl; wantsUsage = true; result = 10; break; Loading @@ -208,7 +211,7 @@ int main(int argc, char* const argv[]) const char *path = argv[optind++]; int fd = open(path, O_RDONLY); if (fd < 0) { aerr << "service: could not open '" << path << "'" << endl; aerr << prog_name << ": could not open '" << path << "'" << endl; wantsUsage = true; result = 10; break; Loading @@ -217,7 +220,7 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "afd") == 0) { optind++; if (optind >= argc) { aerr << "service: no path supplied for 'afd'" << endl; aerr << prog_name << ": no path supplied for 'afd'" << endl; wantsUsage = true; result = 10; break; Loading @@ -226,7 +229,8 @@ int main(int argc, char* const argv[]) int fd = open(path, O_RDONLY); struct stat statbuf; if (fd < 0 || fstat(fd, &statbuf) != 0) { aerr << "service: could not open or stat '" << path << "'" << endl; aerr << prog_name << ": could not open or stat" << " '" << path << "'" << endl; wantsUsage = true; result = 10; break; Loading @@ -240,7 +244,8 @@ int main(int argc, char* const argv[]) } else if (strcmp(argv[optind], "nfd") == 0) { optind++; if (optind >= argc) { aerr << "service: no file descriptor supplied for 'nfd'" << endl; aerr << prog_name << ": no file descriptor supplied for" << " 'nfd'" << endl; wantsUsage = true; result = 10; break; Loading Loading @@ -327,7 +332,7 @@ int main(int argc, char* const argv[]) // for now just set the extra field to be null. data.writeInt32(-1); } else { aerr << "service: unknown option " << argv[optind] << endl; aerr << prog_name << ": unknown option " << argv[optind] << endl; wantsUsage = true; result = 10; break; Loading @@ -337,32 +342,32 @@ int main(int argc, char* const argv[]) service->transact(code, data, &reply); aout << "Result: " << reply << endl; } else { aerr << "service: Service " << argv[serviceArg] aerr << prog_name << ": Service " << argv[serviceArg] << " does not exist" << endl; result = 10; } } else { if (optind < argc) { aerr << "service: No service specified for call" << endl; aerr << prog_name << ": No service specified for call" << endl; } else { aerr << "service: No code specified for call" << endl; aerr << prog_name << ": No code specified for call" << endl; } wantsUsage = true; result = 10; } } else { aerr << "service: Unknown command " << argv[optind] << endl; aerr << prog_name << ": Unknown command " << argv[optind] << endl; wantsUsage = true; result = 10; } } if (wantsUsage) { aout << "Usage: service [-h|-?]\n" " service list\n" " service check SERVICE\n" " service call SERVICE CODE [i32 N | i64 N | f N | d N | s16 STR | null" " | fd f | nfd n | afd f ] ...\n" aout << "Usage: " << prog_name << " [-h|-?]\n" " " << prog_name << " list\n" " " << prog_name << " check SERVICE\n" " " << prog_name << " call SERVICE CODE [i32 N | i64 N | f N | d N | s16 STR" " | null | fd f | nfd n | afd f ] ...\n" "Options:\n" " i32: Write the 32-bit integer N into the send parcel.\n" " i64: Write the 64-bit integer N into the send parcel.\n" Loading @@ -370,11 +375,11 @@ int main(int argc, char* const argv[]) " d: Write the 64-bit double-precision number N into the send parcel.\n" " s16: Write the UTF-16 string STR into the send parcel.\n" " null: Write a null binder into the send parcel.\n" " fd: Write a file descriptor for the file f to the send parcel.\n" " nfd: Write file descriptor n to the send parcel.\n" " afd: Write an ashmem file descriptor for a region containing the data from" " file f to the send parcel.\n"; // " intent: Write and Intent int the send parcel. ARGS can be\n" " fd: Write a file descriptor for the file f into the send parcel.\n" " nfd: Write the file descriptor n into the send parcel.\n" " afd: Write an ashmem file descriptor for a region containing the data from\n" " file f into the send parcel.\n"; // " intent: Write an Intent into the send parcel. ARGS can be\n" // " action=STR data=STR type=STR launchFlags=INT component=STR categories=STR[,STR,...]\n"; return result; } Loading