#include #include #include #include #include int debuglevel = 10; char *workgroup = ""; char *username = ""; char *password = ""; void smbc_auth_fn( const char *server, const char *share, char *wrkgrp, int wrkgrplen, char *user, int userlen, char *passwd, int passwdlen){ (void) server; (void) share; (void) wrkgrp; (void) wrkgrplen; // strncpy(wrkgrp, workgroup, wrkgrplen - 1); wrkgrp[wrkgrplen - 1] = 0; // strncpy(user, username, userlen - 1); user[userlen - 1] = 0; // strncpy(passwd, password, passwdlen - 1); passwd[passwdlen - 1] = 0; } int main(){ int i; SMBCCTX *ctx; SMBCFILE *fd; if ((ctx = smbc_new_context()) == NULL) return 1; ctx->debug = debuglevel; ctx->callbacks.auth_fn = smbc_auth_fn; if (smbc_init_context(ctx) == NULL){ smbc_free_context(ctx, 1); return 1; } for(i = 0; i < 10; i++){ printf("-- %d -------------\n", i); fflush(stdout); if ((fd = ctx->opendir(ctx, "smb://laska")) != NULL) ctx->close_fn(ctx, fd); /* ctx->callbacks.purge_cached_fn(ctx); */ } smbc_free_context(ctx, 1); return 0; }