~ubuntu-branches/ubuntu/gutsy/samba/gutsy-updates

« back to all changes in this revision

Viewing changes to source/include/debugparse.h

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Mitchell
  • Date: 2006-11-28 20:14:37 UTC
  • mfrom: (0.10.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061128201437-a6x4lzlhempazocp
Tags: 3.0.23d-1ubuntu1
* Merge from debian unstable.
* Drop python2.4-samba, replace with python-samba. Added Conflicts/Replaces
  on python2.4-samba
* Drop track-connection-dos.patch, ubuntu-winbind-panic.patch, 
  ubuntu-fix-ldap.patch, ubuntu-setlocale.patch, ubuntu-setlocale-fixes.patch
* Remaining Ubuntu changes:
  - Revert Debian's installation of mount.cifs and umount.cifs as suid
  - Comment out the default [homes] shares and add more verbose comments to
    explain what they do and how they work (closes: launchpad.net/27608)
  - Add a "valid users = %S" stanza to the commented-out [homes] section, to
    show users how to restrict access to \\server\username to only username.
  - Change the (commented-out) "printer admin" example to use "@lpadmin"
    instead of "@ntadmin", since the lpadmin group is used for spool admin.
  - Alter the panic-action script to encourage users to report their
    bugs in Ubuntu packages to Ubuntu, rather than reporting to Debian.
    Modify text to more closely match the Debian script
  - Munge our init script to deal with the fact that our implementation
    (or lack thereof) of log_daemon_msg and log_progress_msg differs
    from Debian's implementation of the same (Ubuntu #19691)
  - Kept ubuntu-auxsrc.patch: some auxilliary sources (undocumented in 
    previous changelogs)
  - Set default workgroup to MSHOME

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef DEBUGPARSE_H
 
2
#define DEBUGPARSE_H
 
3
/* ========================================================================== **
 
4
 *                                debugparse.c
 
5
 *
 
6
 * Copyright (C) 1998 by Christopher R. Hertel
 
7
 *
 
8
 * Email: crh@ubiqx.mn.org
 
9
 *
 
10
 * -------------------------------------------------------------------------- **
 
11
 * This module is a very simple parser for Samba debug log files.
 
12
 * -------------------------------------------------------------------------- **
 
13
 *
 
14
 *  This library is free software; you can redistribute it and/or
 
15
 *  modify it under the terms of the GNU Library General Public
 
16
 *  License as published by the Free Software Foundation; either
 
17
 *  version 2 of the License, or (at your option) any later version.
 
18
 *
 
19
 *  This library is distributed in the hope that it will be useful,
 
20
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
21
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
22
 *  Library General Public License for more details.
 
23
 *
 
24
 *  You should have received a copy of the GNU Library General Public
 
25
 *  License along with this library; if not, write to the Free
 
26
 *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
27
 *
 
28
 * -------------------------------------------------------------------------- **
 
29
 * The important function in this module is dbg_char2token().  The rest is
 
30
 * basically fluff.  (Potentially useful fluff, but still fluff.)
 
31
 * ========================================================================== **
 
32
 */
 
33
 
 
34
#include "includes.h"
 
35
 
 
36
/* This module compiles quite nicely outside of the Samba environment.
 
37
 * You'll need the following headers:
 
38
#include <ctype.h>
 
39
#include <stdio.h>
 
40
#include <string.h>
 
41
 */
 
42
 
 
43
/* -------------------------------------------------------------------------- **
 
44
 * These are the tokens returned by dbg_char2token().
 
45
 */
 
46
 
 
47
typedef enum
 
48
  {
 
49
  dbg_null = 0,
 
50
  dbg_ignore,
 
51
  dbg_header,
 
52
  dbg_timestamp,
 
53
  dbg_level,
 
54
  dbg_sourcefile,
 
55
  dbg_function,
 
56
  dbg_lineno,
 
57
  dbg_message,
 
58
  dbg_eof
 
59
  } dbg_Token;
 
60
 
 
61
/* -------------------------------------------------------------------------- **
 
62
 * Function prototypes...
 
63
 */
 
64
 
 
65
 const char *dbg_token2string( dbg_Token tok );
 
66
  /* ------------------------------------------------------------------------ **
 
67
   * Given a token, return a string describing the token.
 
68
   *
 
69
   *  Input:  tok - One of the set of dbg_Tokens defined in debugparse.h.
 
70
   *
 
71
   *  Output: A string identifying the token.  This is useful for debugging,
 
72
   *          etc.
 
73
   *
 
74
   *  Note:   If the token is not known, this function will return the
 
75
   *          string "<unknown>".
 
76
   *
 
77
   * ------------------------------------------------------------------------ **
 
78
   */
 
79
 
 
80
 dbg_Token dbg_char2token( dbg_Token *state, int c );
 
81
  /* ------------------------------------------------------------------------ **
 
82
   * Parse input one character at a time.
 
83
   *
 
84
   *  Input:  state - A pointer to a token variable.  This is used to
 
85
   *                  maintain the parser state between calls.  For
 
86
   *                  each input stream, you should set up a separate
 
87
   *                  state variable and initialize it to dbg_null.
 
88
   *                  Pass a pointer to it into this function with each
 
89
   *                  character in the input stream.  See dbg_test()
 
90
   *                  for an example.
 
91
   *          c     - The "current" character in the input stream.
 
92
   *
 
93
   *  Output: A token.
 
94
   *          The token value will change when delimiters are found,
 
95
   *          which indicate a transition between syntactical objects.
 
96
   *          Possible return values are:
 
97
   *
 
98
   *          dbg_null        - The input character was an end-of-line.
 
99
   *                            This resets the parser to its initial state
 
100
   *                            in preparation for parsing the next line.
 
101
   *          dbg_eof         - Same as dbg_null, except that the character
 
102
   *                            was an end-of-file.
 
103
   *          dbg_ignore      - Returned for whitespace and delimiters.
 
104
   *                            These lexical tokens are only of interest
 
105
   *                            to the parser.
 
106
   *          dbg_header      - Indicates the start of a header line.  The
 
107
   *                            input character was '[' and was the first on
 
108
   *                            the line.
 
109
   *          dbg_timestamp   - Indicates that the input character was part
 
110
   *                            of a header timestamp.
 
111
   *          dbg_level       - Indicates that the input character was part
 
112
   *                            of the debug-level value in the header.
 
113
   *          dbg_sourcefile  - Indicates that the input character was part
 
114
   *                            of the sourcefile name in the header.
 
115
   *          dbg_function    - Indicates that the input character was part
 
116
   *                            of the function name in the header.
 
117
   *          dbg_lineno      - Indicates that the input character was part
 
118
   *                            of the DEBUG call line number in the header.
 
119
   *          dbg_message     - Indicates that the input character was part
 
120
   *                            of the DEBUG message text.
 
121
   *
 
122
   * ------------------------------------------------------------------------ **
 
123
   */
 
124
 
 
125
 
 
126
/* -------------------------------------------------------------------------- */
 
127
#endif /* DEBUGPARSE_H */