1 #define _XOPEN_SOURCE 500
11 int main(int argc
, char **argv
) {
12 struct isds_ctx
*ctx
= NULL
;
14 struct isds_DbOwnerInfo
*db_owner_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
);
50 printf("isds_login() failed: %s: %s\n", isds_strerror(err
),
51 isds_long_message(ctx
));
53 printf("Logged in :)\n");
58 printf("Getting info about my box:\n");
59 err
= isds_GetOwnerInfoFromLogin(ctx
, &db_owner_info
);
61 printf("isds_GetOwnerInfoFromLogin() failed: %s: %s\n",
62 isds_strerror(err
), isds_long_message(ctx
));
64 printf("isds_GetOwnerInfoFromLogin() succeeded\n");
66 print_DbOwnerInfo(db_owner_info
);
70 /* Enable access to my box */
72 struct isds_DbOwnerInfo
*new_db_owner_info
= NULL
;
73 char *refnumber
= NULL
;
75 printf("Enabling access to my box\n");
76 err
= isds_switch_box_accessibility_on_owner_request(ctx
,
77 db_owner_info
, 1, NULL
, &refnumber
);
79 printf("isds_switch_box_accessibility_on_owner_request() failed: "
80 "%s: %s\n", isds_strerror(err
), isds_long_message(ctx
));
82 printf("isds_switch_box_accessibility_on_owner_request() "
83 "succeeded as request #%s\n", refnumber
);
87 printf("Verifying info about my box:\n");
88 err
= isds_GetOwnerInfoFromLogin(ctx
, &new_db_owner_info
);
90 printf("isds_GetOwnerInfoFromLogin() failed: %s: %s\n",
91 isds_strerror(err
), isds_long_message(ctx
));
93 printf("isds_GetOwnerInfoFromLogin() succeeded\n");
94 printf("New box status is: ");
95 print_longint(new_db_owner_info
->dbState
);
97 isds_DbOwnerInfo_free(&new_db_owner_info
);
100 isds_DbOwnerInfo_free(&db_owner_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
));