1 .TH SMS 3 "29 Nov 1988"
4 sms_connect, sms_auth, sms_disconnect, sms_noop, sms_access,
5 sms_query, sms_do_update, format_filesys_type, parse_filesys_type,
6 canonicalize_hostname, strsave, strtrim, sq_create, sq_destroy,
7 sq_get_data, sq_save_args, sq_save_data, sq_save_unique_data,
8 sq_save_unique_string, Start_paging, Stop_paging, Start_menu,
9 Start_no_menu, Cleanup_menu, Prompt_input, Password_input, Put_message
17 .B extern int sending_version_no;
19 .B int sms_connect(server);
22 .B int sms_auth(prog);
25 .B int sms_disconnect();
29 .B int sms_access(name, argc, argv);
34 .B int sms_query(name, argc, argv, callproc, callarg);
38 .B int (*callproc)(int, char **, char *);
41 .B int sms_do_update();
44 .B char *format_filesys_type(fs_status);
47 .B char *parse_filesys_type(fs_type_name);
48 .B char *fs_type_name;
50 .B char *canonicalize_hostname(host);
60 .B struct save_queue *sq_create();
63 .B struct save_queue *sq;
65 .B int sq_get_data(sq, data);
68 .B sq_save_args(argc, argv, sq);
70 .B sq_save_data(sq, data);
72 .B sq_save_unique_data(sq, data);
74 .B sq_save_unique_string(sq, data);
78 .B char *whoami = argv[0];
84 .B Start_menu(top_menu);
87 .B Start_no_menu(top_menu);
91 .B Prompt_input(prompt, buf, buflen);
95 .B Password_input(prompt, buf, buflen);
101 This library supports the Athena Service Management System protocol
102 and related operations. The library contains many routines beyond
103 those described in this man page, but they are not intended to be used
104 directly. Instead, they are called by the routines that are described.
107 All protocol routines return 0 on success, or a value from
109 on failure. An application should connect, authenticate, perform
110 queries, then disconnect.
112 .I sending_version_no
117 to determine the version of the protocol that will be used. It
118 currently defaults to
122 establishes a connection with the SMS server. The
124 specification is of the form hostname:portname, where the portname can
129 authenticates an established connection using Kerberos.
131 is the name of the program making the connection. The program name
132 and the kerberos principal name will be recorded with any changes made
133 to the database through this connection.
136 severs the connection with the SMS server.
139 pings the SMS server through a "no operation" request, verifying that
140 the connection is still working.
143 Verifies that the authenticated user has the necessary access to
144 perform the query specified by
150 performs a query. This query may be a retrieval, append, delete, or
151 update of the database. Query
153 will be executed with the
155 arguments specified in the string array
157 For each return tuple,
159 will be called with an
161 and the value passed to
167 triggers a DCM update immediately on the SMS server.
170 .B format_filesys_type
171 returns a user-displayable representation of the status bits on an NFS
174 is the ascii representation of the integer value of that field.
176 .B parse_filesys_type
177 returns the numeric value of the filesystem type, given a string
178 describing an NFS physical partition allocation type. The returned
179 value is a pointer to a static buffer containing the ascii
180 representation of the integer value.
182 .B canonicalize_hostname
183 attempts to update what is possibly the nickname for a host to its
184 canonical form which is a fully specified, uppercase domain name.
185 If the named host is in the namespace, it calls the nameserver to
186 expand it and return the primary name of the host. Otherwise, it just
187 returns the argument. It assumes that
191 and may be freed or realloc'ed before returning. The returned value
192 will be a malloc'ed value, possibly the same buffer as the argument.
195 will malloc some memory and make a copy of
199 will trim whitespace off of both ends of the string
201 The returned value will be a pointer into the same buffer
206 will create an empty save_queue.
210 will free all of the memory contained in the queue structure
212 It will not attempt to free the elements.
217 with the next piece of data in the queue. If will return 0 if there
218 is no more data in the queue.
223 null terminate it so that
225 is not necessary, and save this value on the end of the queue
231 on the end of the queue
234 .B sq_save_unique_data
237 on the queue if it does not already appear in the queue. If it is
238 already present, nothing is modified and no errors are returned.
239 .B sq_save_unique_string
241 .B sq_save_unique_data,
242 except that it uses strcmp on the elements rather than comparing the
246 The menu package requires that the string
248 be defined. It is usually set to argv[0] of the program.
251 initializes menu package and sets up the screen.
254 resets the screen to normal mode. This must be done before the
255 program exits to put the tty back into a sane mode.
258 starts interpreting menus with
260 giving the menu package complete control of the screen.
262 must have been called first.
265 starts interpreting menus, but does not entirely give up control of
266 the screen. The menu package will treat the tty as a printing
270 aborts the menu package and returns the tty to sane modes.
273 will get input from the user, using the dialogue window on the screen.
274 It will first display
278 bytes into the buffer
284 except that the value the user types is not echoed.
288 to the screen, appending a newline at the end.
292 /usr/include/sms_et.h
296 smstest(8), The Service Management System section of the Athena
299 The error codes returned are those defined in <sms_et.h>, or
300 <krb_et.h>. They may be easily decoded using the com_err library.
302 COPYRIGHT 1987,1988 Massachusetts Institute of Technology