|
|
1.1 root 1: .se "User Subroutines"
2:
3: .ss "Nfcomment"
4:
5: The nfcomment subroutine is callable from a user's C program. It
6: allows any user program to enter text into a notesfile:
7:
8: nfcomment (nfname, text, title, dirflag, anonflag)
9:
10: .KS
11: .br
12: The parameters are:
13:
14: .br
15: .ls 1
16: char *nfname; /* name of notesfile */
17: .br
18: char *text; /* null terminated text to be entered */
19: .br
20: char *title; /* if non-null, title of note */
21: .br
22: int dirflag; /* != 0 -> director flag on (if allowed) */
23: .br
24: int anonflag; /* != 0 -> anonymous note (if allowed) */
25: .br
26: .ls
27: .KE
28:
29: If the *text pointer is NULL, the text of the note will be read
30: from standard input.
31: If no title is specified the subroutine will manufacture a title
32: from the first line of the note.
33: This routine is useful for error reports, user comments
34: about programs, and automatic logging of statistics or internal states.
35:
36: This routine can be loaded with a C program by specifying `-lnfcom'
37: on the `cc' command line.
38:
39: .ss "Nfabort"
40:
41: Nfabort allows users to generate core images of their
42: process, save the core image in a ``known'' place,
43: and
44: log the fact in a notesfile.
45: This proves useful for intermittent failures;
46: when a program does crash,
47: a core image is placed in an appropriate place and a
48: message is placed in a notesfile.
49: The programmer regularly scans the notesfile and can examine
50: the core dump at his leisure.
51: Some of the problems of recreating conditions which cause errors
52: are eliminated by this approach.
53:
54: Nfabort is callable from the user program. It accepts
55: the following parameters:
56:
57: nfabort (nfname, message, title, cname, exitcode)
58:
59: .KS
60: .br
61: The parameters are:
62:
63: .br
64: .ls 1
65: char *nfname; /* name of notesfile */
66: .br
67: char *message; /* text string to insert */
68: .br
69: char *title; /* title of the message */
70: .br
71: char *cname; /* prefix for core image destination */
72: .br
73: int exitcode; /* code for exit() */
74: .ls
75: .KE
76:
77: The core image is placed in the file specified by
78: concatenating the ``cname'' argument and a unique
79: integer (the process id of the current process).
80: The notesfile specified by the ``nfname'' parameter
81: receives a note whose body consists of the text pointed
82: to by ``message'' and a line telling the complete pathname
83: of the core image.
84: The title of the note is specified by the ``title''
85: parameter.
86: After the core image is generated and the
87: note has been written,
88: nfabort terminates with the exit code specified
89: by the ``exitcode'' parameter.
90:
91: Nfabort generates default values for each of
92: the string parameters if NULL pointers are passed.
93: This routine can be loaded with a C program by specifying `-lnfcom'
94: on the `cc' command line.
95:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.