1 #define _XOPEN_SOURCE 500
10 int main(int argc
, char **argv
) {
11 struct isds_ctx
*ctx
= NULL
;
13 struct isds_DbOwnerInfo
*db_owner_info
= NULL
;
14 struct isds_DbUserInfo
*db_user_info
= NULL
;
16 setlocale(LC_ALL
, "");
20 printf("isds_init() failed: %s\n", isds_strerror(err
));
24 isds_set_logging(ILF_ALL
& ~ILF_HTTP
, ILL_ALL
);
26 ctx
= isds_ctx_create();
28 printf("isds_ctx_create() failed");
31 err
= isds_set_timeout(ctx
, 10000);
33 printf("isds_set_timeout() failed: %s\n", isds_strerror(err
));
36 /* err = isds_set_tls(ctx, ITLS_VERIFY_SERVER, 0);
38 printf("isds_set_tls(ITLS_VERIFY_SERVER) failed: %s\n",
42 err = isds_set_tls(ctx, ITLS_CA_FILE, "/etc/ssl/certs/ca-certificates.crt");
44 printf("isds_set_tls(ITLS_CA_FILE) failed: %s\n",
48 err
= isds_login(ctx
, url
, username
, password
, NULL
, NULL
);
50 printf("isds_login() failed: %s: %s\n", isds_strerror(err
),
51 isds_long_message(ctx
));
53 printf("Logged in :)\n");
58 /* Get info about my box */
59 printf("Getting info about my box:\n");
60 err
= isds_GetOwnerInfoFromLogin(ctx
, &db_owner_info
);
62 printf("isds_GetOwnerInfoFromLogin() failed: %s: %s\n",
63 isds_strerror(err
), isds_long_message(ctx
));
65 printf("isds_GetOwnerInfoFromLogin() succeeded\n");
67 print_DbOwnerInfo(db_owner_info
);
71 /* Get info about my account */
72 printf("Getting info about my account:\n");
73 err
= isds_GetUserInfoFromLogin(ctx
, &db_user_info
);
75 printf("isds_GetUserInfoFromLogin() failed: %s: %s\n",
76 isds_strerror(err
), isds_long_message(ctx
));
78 printf("isds_GetUserInfoFromLogin() succeeded\n");
79 print_DbUserInfo(db_user_info
);
83 if (db_owner_info
&& db_user_info
) {
84 char *refnumber
= NULL
;
86 printf("Deleting user\n");
87 isds_error err
= isds_delete_user(ctx
, db_owner_info
, db_user_info
,
90 printf("isds_delete_user() failed: %s: %s\n",
91 isds_strerror(err
), isds_long_message(ctx
));
93 printf("isds_delete_user() succeeded as request #%s.\n"
94 "This should not happen\n", refnumber
);
99 isds_DbOwnerInfo_free(&db_owner_info
);
100 isds_DbUserInfo_free(&db_user_info
);
103 err
= isds_logout(ctx
);
105 printf("isds_logout() failed: %s\n", isds_strerror(err
));
109 err
= isds_ctx_free(&ctx
);
111 printf("isds_ctx_free() failed: %s\n", isds_strerror(err
));
115 err
= isds_cleanup();
117 printf("isds_cleanup() failed: %s\n", isds_strerror(err
));