cvtfacility.c
上传用户:weiyuanprp
上传日期:2020-05-20
资源大小:1169k
文件大小:3k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. /* $Id: cvtfacility.c,v 1.1.1.1 2005/11/11 21:32:03 faxguy Exp $ */
  2. /*
  3.  * Copyright (c) 1994-1996 Sam Leffler
  4.  * Copyright (c) 1994-1996 Silicon Graphics, Inc.
  5.  *
  6.  * Permission to use, copy, modify, distribute, and sell this software and 
  7.  * its documentation for any purpose is hereby granted without fee, provided
  8.  * that (i) the above copyright notices and this permission notice appear in
  9.  * all copies of the software and related documentation, and (ii) the names of
  10.  * Sam Leffler and Silicon Graphics may not be used in any advertising or
  11.  * publicity relating to the software without the specific, prior written
  12.  * permission of Sam Leffler and Silicon Graphics.
  13.  * 
  14.  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  15.  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  16.  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  17.  * 
  18.  * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  19.  * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  20.  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  21.  * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  22.  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  23.  * OF THIS SOFTWARE.
  24.  */
  25. #include <stdio.h>
  26. #include <syslog.h>
  27. #include <string.h>
  28. static struct {
  29. char *c_name;
  30. int c_val;
  31. } facilitynames[] = {
  32. #ifdef LOG_AUDIT
  33. { "audit", LOG_AUDIT },
  34. #endif
  35. #ifdef LOG_AUTH
  36. { "auth", LOG_AUTH },
  37. #endif
  38. #ifdef LOG_CRON
  39. { "cron",  LOG_CRON },
  40. #endif
  41. #ifdef LOG_DAEMON
  42. { "daemon", LOG_DAEMON },
  43. #endif
  44. #ifdef LOG_MAIL
  45. { "mail", LOG_MAIL },
  46. #endif
  47. #ifdef LOG_NEWS
  48. { "news", LOG_NEWS },
  49. #endif
  50. #ifdef LOG_SAT
  51. { "sat", LOG_AUDIT },
  52. #endif
  53. #ifdef LOG_SYSLOG
  54. { "syslog", LOG_SYSLOG },
  55. #endif
  56. #ifdef LOG_USER
  57. { "user", LOG_USER },
  58. #endif
  59. #ifdef LOG_UUCP
  60. { "uucp", LOG_UUCP },
  61. #endif
  62. #ifdef LOG_LOCAL0
  63. { "local0", LOG_LOCAL0 },
  64. #endif
  65. #ifdef LOG_LOCAL1
  66. { "local1", LOG_LOCAL1 },
  67. #endif
  68. #ifdef LOG_LOCAL2
  69. { "local2", LOG_LOCAL2 },
  70. #endif
  71. #ifdef LOG_LOCAL3
  72. { "local3", LOG_LOCAL3 },
  73. #endif
  74. #ifdef LOG_LOCAL4
  75. { "local4", LOG_LOCAL4 },
  76. #endif
  77. #ifdef LOG_LOCAL5
  78. { "local5", LOG_LOCAL5 },
  79. #endif
  80. #ifdef LOG_LOCAL6
  81. { "local6", LOG_LOCAL6 },
  82. #endif
  83. #ifdef LOG_LOCAL7
  84. { "local7", LOG_LOCAL7 },
  85. #endif
  86. { NULL, -1 },
  87. };
  88. int
  89. cvtFacility(const char* name, int* facility)
  90. {
  91.     int i;
  92.     for (i = 0; facilitynames[i].c_name != NULL; i++)
  93. if (strcasecmp(facilitynames[i].c_name, name) == 0) {
  94.     *facility = facilitynames[i].c_val;
  95.     return (1);
  96. }
  97.     return (0);
  98. }