]> andersk Git - moira.git/blame_incremental - lib/mr_connect.c
added support for fsgroups
[moira.git] / lib / mr_connect.c
... / ...
CommitLineData
1/*
2 * $Source$
3 * $Author$
4 * $Header$
5 *
6 * Copyright (C) 1987 by the Massachusetts Institute of Technology
7 * For copying and distribution information, please see the file
8 * <mit-copyright.h>.
9 *
10 * This routine is part of the client library. It handles
11 * creating a connection to the sms server.
12 */
13
14#ifndef lint
15static char *rcsid_sms_connect_c = "$Header$";
16#endif lint
17
18#include <mit-copyright.h>
19#include "sms_private.h"
20
21/*
22 * Open a connection to the sms server.
23 */
24
25int sms_connect(server)
26char *server;
27{
28 extern int errno;
29
30 if (!sms_inited) sms_init();
31 if (_sms_conn) return SMS_ALREADY_CONNECTED;
32
33 /*
34 * XXX should do a hesiod call to find the sms machine name & service
35 * number/name.
36 */
37 errno = 0;
38 if (!server || (strlen(server) == 0))
39 server = SMS_GDB_SERV;
40 _sms_conn = start_server_connection(server, "");
41 if (_sms_conn == NULL)
42 return errno;
43 if (connection_status(_sms_conn) == CON_STOPPED) {
44 register status = connection_errno(_sms_conn);
45 if (!status) status = SMS_CANT_CONNECT;
46 sms_disconnect();
47 return status;
48 }
49 return 0;
50}
51
52int sms_disconnect()
53{
54 CHECK_CONNECTED;
55 _sms_conn = sever_connection(_sms_conn);
56 return 0;
57}
58
59int sms_noop()
60{
61 int status;
62 sms_params param_st;
63 struct sms_params *params = NULL;
64 struct sms_params *reply = NULL;
65
66 CHECK_CONNECTED;
67 params = &param_st;
68 params->sms_version_no = sending_version_no;
69 params->sms_procno = SMS_NOOP;
70 params->sms_argc = 0;
71 params->sms_argl = NULL;
72 params->sms_argv = NULL;
73
74 if ((status = sms_do_call(params, &reply)) == 0)
75 status = reply->sms_status;
76
77 sms_destroy_reply(reply);
78
79 return status;
80}
This page took 0.031756 seconds and 5 git commands to generate.