~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to testsuite/nsswitch/pam_winbind_syms.c

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Test required functions are exported from the pam_winbind.so library
 
3
 */
 
4
 
 
5
#include <stdio.h>
 
6
#include <dlfcn.h>
 
7
 
 
8
/* Symbol list to check */
 
9
 
 
10
static char *symlist[] = {
 
11
    "pam_sm_acct_mgmt",
 
12
    "pam_sm_authenticate",
 
13
    "pam_sm_setcred",
 
14
    NULL
 
15
};
 
16
 
 
17
/* Main function */
 
18
 
 
19
int main(int argc, char **argv)
 
20
{
 
21
    void *handle, *sym;
 
22
    int i, y;
 
23
 
 
24
    /* Open library */
 
25
 
 
26
    if (argc != 2) {
 
27
        printf("FAIL: usage '%s sharedlibname'\n", argv[0]);
 
28
        return 1;
 
29
    }
 
30
 
 
31
    handle = dlopen(argv[1], RTLD_NOW);
 
32
 
 
33
    if (handle == NULL) {
 
34
        printf("FAIL: could not dlopen library: %s\n", dlerror());
 
35
        return 1;
 
36
    }
 
37
 
 
38
    /* Read symbols */
 
39
 
 
40
    for (i = 0; symlist[i] != NULL; i++) {
 
41
        sym = dlsym(handle, symlist[i]);
 
42
        if (sym == NULL) {
 
43
            printf("FAIL: could not resolve symbol '%s': %s\n",
 
44
                   symlist[i], dlerror());
 
45
            return 1;
 
46
        } else {
 
47
            printf("loaded symbol '%s' ok\n", symlist[i]);
 
48
        }
 
49
    }
 
50
 
 
51
    /* Clean up */
 
52
 
 
53
    dlclose(handle);
 
54
    return 0;
 
55
}