dns-dump.cc
Go to the documentation of this file.
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 
16 static 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 
34 int main(int argc, char* argv[]) {
35  for (int ii = 1; ii < argc; ++ii) {
36  ares::ShowFile(argv[ii]);
37  }
38  return 0;
39 }
40 
filename
const char * filename
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:135
main
int main(int argc, char *argv[])
Definition: dns-dump.cc:34
ares::PacketToString
std::string PacketToString(const std::vector< byte > &packet)
Definition: dns-proto.cc:181
buffer
char buffer[1024]
Definition: libuv/docs/code/idle-compute/main.c:8
contents
string_view contents
Definition: elf.cc:597
read
int read(izstream &zs, T *x, Items items)
Definition: bloaty/third_party/zlib/contrib/iostream2/zstream.h:115
ares::ShowFile
static void ShowFile(const char *filename)
Definition: dns-dump.cc:16
open
#define open
Definition: test-fs.c:46
len
int len
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
absl::string_view::end
constexpr const_iterator end() const noexcept
Definition: abseil-cpp/absl/strings/string_view.h:227
ares
Definition: ares-test-ai.h:9
dns-proto.h


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:16