formsquid.cc
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #include <stdio.h>
  2. #include "proxytrace.h"
  3. /* emulates a query part of a URL */
  4. const char *make_query(u_4bytes query) {
  5. static char buf[128];
  6. sprintf(buf, "?%d", query);
  7. return buf;
  8. }
  9. /* emulates a port part of a URL */
  10. const char *make_port(u_4bytes port) {
  11. static char buf[128];
  12. sprintf(buf, ":%d", port);
  13. return buf;
  14. }
  15. void PrintEntry_Squid(FILE *out_file, TEntry *entry, int swap) {
  16. u_4bytes duration = ((entry -> head.event_duration+500)/1000); /* milliseconds */
  17. fprintf(stdout, "%9d.%06u %d %d %s/%d %d %s %s://%d%s/%s%d%s%s %s %s/%dn",
  18. entry -> head.time_sec, entry -> head.time_usec,
  19. (( swap) ? entry -> head.client : duration),
  20. ((!swap) ? entry -> head.client : duration),
  21. "NONE", /* Log Tag is missing */
  22. entry -> tail.status,
  23. entry -> head.size,
  24. MethodStr(entry -> tail.method),
  25.         ProtocolStr(entry -> tail.protocol),
  26. entry -> head.server,
  27. ((entry -> tail.flags & PORT_SPECIFIED_FLAG) ? make_port(entry -> head.port) : ""),
  28. ((entry -> tail.flags & CGI_BIN_FLAG) ? "cgi_bin/" : ""),
  29. entry -> head.path,
  30. ((entry -> tail.flags & EXTENSION_SPECIFIED_FLAG) ? ExtensionStr(entry -> tail.type) : ""),
  31. ((entry -> tail.flags & QUERY_FOUND_FLAG) ? make_query(entry -> head.query) : ""),
  32. "-", /* Ident is missing */
  33. "DIRECT", /* assuming direct retrieval */
  34. entry -> head.server);
  35. }