log.h
上传用户:pycemail
上传日期:2007-01-04
资源大小:329k
文件大小:3k
源码类别:

Ftp客户端

开发平台:

Unix_Linux

  1. /*
  2.  * ProFTPD - FTP server daemon
  3.  * Copyright (c) 1997, 1998 Public Flood Software
  4.  *
  5.  * This program is free software; you can redistribute it and/or modify
  6.  * it under the terms of the GNU General Public License as published by
  7.  * the Free Software Foundation; either version 2 of the License, or
  8.  * (at your option) any later version.
  9.  *
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; if not, write to the Free Software
  17.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
  18.  */
  19. /* Logging, either to syslog or stderr, as well as debug logging
  20.  * and debug levels.
  21.  * $Id: log.h,v 1.2 1999/10/01 07:57:31 macgyver Exp $
  22.  */
  23. #ifndef __LOG_H
  24. #define __LOG_H
  25. #ifndef LOG_AUTHPRIV
  26. #define LOG_AUTHPRIV LOG_AUTH
  27. #endif
  28. #if !defined(WTMP_FILE) && defined(_PATH_WTMP)
  29. #define WTMP_FILE _PATH_WTMP
  30. #endif
  31. /* Structure used as a header for /var/run/proftpd-*
  32.  */
  33. #define LOGRUN_MAGIC 0xdeadbeef
  34. typedef struct {
  35.   unsigned long r_magic; /* always 0xdeadbeef */
  36.   unsigned long r_version; /* version of proftpd created with */
  37.   unsigned long r_size; /* Size of each entry (including first) */
  38. } logrun_header_t;
  39. /* Structure used for writing to /var/run/proftpd-*
  40.  */
  41. typedef struct {
  42.   pid_t pid;
  43.   uid_t uid;
  44.   gid_t gid;
  45.   p_in_addr_t server_ip;
  46.   unsigned short server_port;
  47.   time_t idle_since;
  48.   char user[100],op[200];
  49.   unsigned long transfer_size,transfer_complete;
  50.   char address[80],cwd[100];
  51.   char class[32], spare[100];
  52. } logrun_t;
  53. /* These are the debug levels, higher numbers print more debugging
  54.  * info.  DEBUG0 (the default) prints nothing.
  55.  */
  56. #define DEBUG5 5
  57. #define DEBUG4 4
  58. #define DEBUG3 3
  59. #define DEBUG2 2
  60. #define DEBUG1 1
  61. #define DEBUG0 0
  62. char *fmt_time(time_t);
  63. int log_wtmp(char*,char*,char*,p_in_addr_t*);
  64. void log_setfacility(int);
  65. int log_opensyslog(const char *);
  66. void log_closesyslog();
  67. void log_pri(int,char*,...);
  68. void log_auth(int,char*,...);
  69. void log_stderr(int);
  70. int  log_setdebuglevel(int);
  71. void log_debug(int,char*,...);
  72. void log_discard();
  73. void init_log();
  74. void log_run_setpath(const char *);
  75. const char *log_run_getpath(void);
  76. int log_run_checkpath(void);
  77. void log_run_address(const char *, const p_in_addr_t*);
  78. void log_run_cwd(const char *);
  79. int log_add_run(pid_t,time_t*,char*,char*,p_in_addr_t*,unsigned short,
  80.                 unsigned long,unsigned long,char*,...);
  81. logrun_t *log_read_run(pid_t*);
  82. int log_open_run(pid_t,int,int);
  83. int log_close_run();
  84. void log_rm_run();
  85. int log_open_xfer(const char*);
  86. void log_close_xfer();
  87. int log_xfer(int xfertime,char *remhost,unsigned long fsize,
  88.               char *fname,char xfertype,char direction,
  89.               char access,char *user);
  90. #endif /* __LOG_H */