dtlogin: Enable XDM authentication on FreeBSD
[oweals/cde.git] / cde / examples / dtcalendar / attributes.c
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: attributes.c /main/3 1995/10/27 10:37:52 rswiston $ */
24 /*
25  *  (c) Copyright 1993, 1994 Hewlett-Packard Company    
26  *  (c) Copyright 1993, 1994 International Business Machines Corp.
27  *  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
28  *  (c) Copyright 1993, 1994 Novell, Inc.
29  */
30
31 /*
32  * attributes.c - retrieve calendar attributes
33  */
34
35 #include <stdio.h>
36 #include <stdlib.h>
37 #include <time.h>
38 #include <string.h>
39 #include <sys/param.h>
40 #include <sys/types.h>
41
42 #include <csa/csa.h>
43
44 void main(int argc, char **argv)
45 {
46         CSA_session_handle cal;
47         CSA_calendar_user user;
48         CSA_uint32 num_names;
49         CSA_attribute_reference *names;
50         CSA_return_code stat;
51         int i;
52
53         if (argc < 2) {
54                 printf("usage: %s user@host\n", argv[0]);
55                 return;
56         }
57
58         memset((void *)&user, NULL, sizeof(CSA_calendar_user));
59         user.calendar_address = argv[1];
60
61         if ((stat = csa_logon(NULL, &user, NULL, NULL, NULL, &cal, NULL))
62             != CSA_SUCCESS)
63         {
64                 printf("Logon to %s failed, stat = %d\n", argv[1],
65                         stat);
66                 return;
67         }
68
69         if ((stat = csa_list_calendar_attributes(cal, &num_names, &names,
70             NULL)) == CSA_SUCCESS) {
71
72                 printf("List calendar attributes:\n");
73                 for (i = 0; i < num_names; i++)
74                         printf("%s\n", names[i]);
75
76                 csa_free(names);
77         } else
78                 printf("csa_list_calendar_attributes failed, stat = %d\n",
79                         stat);
80
81         (void)csa_logoff(cal, NULL);
82 }
83