5 #include <libsmbclient.h>
7 #define MAX_BUFF_SIZE 255
8 char g_workgroup
[MAX_BUFF_SIZE
];
9 char g_username
[MAX_BUFF_SIZE
];
10 char g_password
[MAX_BUFF_SIZE
];
11 char g_server
[MAX_BUFF_SIZE
];
12 char g_share
[MAX_BUFF_SIZE
];
15 void auth_fn(const char *server
, const char *share
, char *workgroup
, int wgmaxlen
,
16 char *username
, int unmaxlen
, char *password
, int pwmaxlen
)
19 strncpy(workgroup
, g_workgroup
, wgmaxlen
- 1);
21 strncpy(username
, g_username
, unmaxlen
- 1);
23 strncpy(password
, g_password
, pwmaxlen
- 1);
25 strcpy(g_server
, server
);
26 strcpy(g_share
, share
);
30 int main(int argc
, char** argv
)
35 unsigned int mode_mask
= 0;
36 char url
[MAX_BUFF_SIZE
];
40 bzero(g_workgroup
,MAX_BUFF_SIZE
);
41 bzero(url
,MAX_BUFF_SIZE
);
46 strncpy(g_workgroup
,argv
[1],strlen(argv
[1]));
47 strncpy(g_username
,argv
[2],strlen(argv
[2]));
48 strncpy(g_password
,argv
[3],strlen(argv
[3]));
49 strncpy(url
,argv
[4],strlen(argv
[4]));
51 msg_len
= strlen(argv
[5])+1;
52 message
= malloc(msg_len
);
53 message
[msg_len
- 1] = 0;
54 strncpy(message
,argv
[5],msg_len
);
56 smbc_init(auth_fn
, 0);
58 fd
= smbc_open(url
,O_RDWR
| O_CREAT
, 0666);
59 smbc_write(fd
, message
, msg_len
);
66 mode_mask
= mode_mask
| S_IFREG
| S_IRUSR
| S_IWUSR
| S_IRGRP
| S_IWGRP
| S_IROTH
| S_IWOTH
; /* 0666 or 33206 */
68 if ( st
.st_mode
!= mode_mask
)