1#include <stdio.h> 2#include <string.h> 3#include <errno.h> 4#include <libsmbclient.h> 5 6#define MAX_BUFF_SIZE 255 7char g_workgroup[MAX_BUFF_SIZE]; 8char g_username[MAX_BUFF_SIZE]; 9char g_password[MAX_BUFF_SIZE]; 10char g_server[MAX_BUFF_SIZE]; 11char g_share[MAX_BUFF_SIZE]; 12 13 14void auth_fn(const char *server, const char *share, char *workgroup, int wgmaxlen, 15 char *username, int unmaxlen, char *password, int pwmaxlen) 16{ 17 18 strncpy(workgroup, g_workgroup, wgmaxlen - 1); 19 20 strncpy(username, g_username, unmaxlen - 1); 21 22 strncpy(password, g_password, pwmaxlen - 1); 23 24 strcpy(g_server, server); 25 strcpy(g_share, share); 26 27} 28 29int main(int argc, char** argv) 30{ 31 int err = -1; 32 char url[MAX_BUFF_SIZE]; 33 34 bzero(g_workgroup,MAX_BUFF_SIZE); 35 bzero(url,MAX_BUFF_SIZE); 36 37 if ( argc == 5 ) 38 { 39 40 strncpy(g_workgroup,argv[1],strlen(argv[1])); 41 strncpy(g_username,argv[2],strlen(argv[2])); 42 strncpy(g_password,argv[3],strlen(argv[3])); 43 strncpy(url,argv[4],strlen(argv[4])); 44 45 smbc_init(auth_fn, 0); 46 err = smbc_unlink(url); 47 48 if ( err < 0 ) 49 err = 1; 50 51 52 } 53 54 return 1; 55 56} 57 58