1 .TH SMS 3 "29 Nov 1988"
4 sms_connect, sms_auth, sms_disconnect, sms_noop, sms_access,
5 sms_query, sms_do_update, sms_motd, 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_motd(motd);
25 .B int sms_auth(prog);
28 .B int sms_disconnect();
32 .B int sms_access(name, argc, argv);
37 .B int sms_query(name, argc, argv, callproc, callarg);
41 .B int (*callproc)(int, char **, char *);
44 .B int sms_do_update();
47 .B char *format_filesys_type(fs_status);
50 .B char *parse_filesys_type(fs_type_name);
51 .B char *fs_type_name;
53 .B char *canonicalize_hostname(host);
63 .B struct save_queue *sq_create();
66 .B struct save_queue *sq;
68 .B int sq_get_data(sq, data);
71 .B sq_save_args(argc, argv, sq);
73 .B sq_save_data(sq, data);
75 .B sq_save_unique_data(sq, data);
77 .B sq_save_unique_string(sq, data);
81 .B char *whoami = argv[0];
87 .B Start_menu(top_menu);
90 .B Start_no_menu(top_menu);
94 .B Prompt_input(prompt, buf, buflen);
98 .B Password_input(prompt, buf, buflen);
104 This library supports the Athena Service Management System protocol
105 and related operations. The library contains many routines beyond
106 those described in this man page, but they are not intended to be used
107 directly. Instead, they are called by the routines that are described.
109 Be sure to link your application against these libraries:
110 -lsms -lsmsgdb -lcom_err -lkrb -ldes, and also curses if the menu are
111 routines are to be used.
114 All protocol routines return 0 on success, or a value from
116 on failure. An application should connect, check the motd in case the
117 server is closed, authenticate, perform queries, then disconnect.
119 .I sending_version_no
124 to determine the version of the protocol that will be used. It
125 currently defaults to
129 establishes a connection with the SMS server. The
131 specification is of the form hostname:portname, where the portname can
136 will check to see if the server is closed and if so, will retrieve an
137 explanatory message (the so-called motd). This routine will always
138 return 0 if no error occurs. *motd will be NULL if the server is
139 functioning normally, or a pointer to a static string with the
140 explanation if the server is down.
143 authenticates an established connection using Kerberos.
145 is the name of the program making the connection. The program name
146 and the kerberos principal name will be recorded with any changes made
147 to the database through this connection.
150 severs the connection with the SMS server.
153 pings the SMS server through a "no operation" request, verifying that
154 the connection is still working.
157 Verifies that the authenticated user has the necessary access to
158 perform the query specified by
164 performs a query. This query may be a retrieval, append, delete, or
165 update of the database. Query
167 will be executed with the
169 arguments specified in the string array
171 For each return tuple,
173 will be called with an
175 and the value passed to
181 triggers a DCM update immediately on the SMS server.
184 .B format_filesys_type
185 returns a user-displayable representation of the status bits on an NFS
188 is the ascii representation of the integer value of that field.
190 .B parse_filesys_type
191 returns the numeric value of the filesystem type, given a string
192 describing an NFS physical partition allocation type. The returned
193 value is a pointer to a static buffer containing the ascii
194 representation of the integer value.
196 .B canonicalize_hostname
197 attempts to update what is possibly the nickname for a host to its
198 canonical form which is a fully specified, uppercase domain name.
199 If the named host is in the namespace, it calls the nameserver to
200 expand it and return the primary name of the host. Otherwise, it just
201 returns the argument. It assumes that
205 and may be freed or realloc'ed before returning. The returned value
206 will be a malloc'ed value, possibly the same buffer as the argument.
209 will malloc some memory and make a copy of
213 will trim whitespace off of both ends of the string
215 The returned value will be a pointer into the same buffer
220 will create an empty save_queue.
224 will free all of the memory contained in the queue structure
226 It will not attempt to free the elements.
231 with the next piece of data in the queue. If will return 0 if there
232 is no more data in the queue.
237 null terminate it so that
239 is not necessary, and save this value on the end of the queue
245 on the end of the queue
248 .B sq_save_unique_data
251 on the queue if it does not already appear in the queue. If it is
252 already present, nothing is modified and no errors are returned.
253 .B sq_save_unique_string
255 .B sq_save_unique_data,
256 except that it uses strcmp on the elements rather than comparing the
260 The menu package requires that the string
262 be defined. It is usually set to argv[0] of the program.
265 initializes menu package and sets up the screen.
268 resets the screen to normal mode. This must be done before the
269 program exits to put the tty back into a sane mode.
272 starts interpreting menus with
274 giving the menu package complete control of the screen.
276 must have been called first.
279 starts interpreting menus, but does not entirely give up control of
280 the screen. The menu package will treat the tty as a printing
284 aborts the menu package and returns the tty to sane modes.
287 will get input from the user, using the dialogue window on the screen.
288 It will first display
292 bytes into the buffer
298 except that the value the user types is not echoed.
302 to the screen, appending a newline at the end.
306 /usr/include/sms_et.h
310 smstest(8), The Service Management System section of the Athena
313 The error codes returned are those defined in <sms_et.h>, or
314 <krb_et.h>. They may be easily decoded using the com_err library.
316 COPYRIGHT 1987,1988 Massachusetts Institute of Technology