1 #include <sys/types.h> 2 #include <fcntl.h> 3 #ifdef _MSC_VER 4 # include <io.h> 5 #else 6 # include <unistd.h> 7 #endif 8 9 #include <iostream> 10 #include <vector> 11 12 #include "dns-proto.h" 13 14 namespace ares { 15 ShowFile(const char * filename)16static void ShowFile(const char* filename) { 17 int fd = open(filename, O_RDONLY); 18 if (fd < 0) { 19 std::cerr << "Failed to open '" << filename << "'" << std::endl; 20 return; 21 } 22 std::vector<unsigned char> contents; 23 while (true) { 24 unsigned char buffer[1024]; 25 int len = read(fd, buffer, sizeof(buffer)); 26 if (len <= 0) break; 27 contents.insert(contents.end(), buffer, buffer + len); 28 } 29 std::cout << PacketToString(contents) << std::endl; 30 } 31 32 } // namespace ares 33 main(int argc,char * argv[])34int main(int argc, char* argv[]) { 35 for (int ii = 1; ii < argc; ++ii) { 36 ares::ShowFile(argv[ii]); 37 } 38 return 0; 39 } 40 41