2022-08-17 11:51:06 +03:00
# include <stdio.h>
2005-03-30 06:39:22 +04:00
# include <unistd.h>
2022-08-17 11:51:06 +03:00
# include <string.h>
# include <time.h>
# include <libsmbclient.h>
2005-03-31 09:06:04 +04:00
# include "get_auth_data_fn.h"
2005-03-30 06:39:22 +04:00
2022-08-17 11:51:06 +03:00
int main ( int argc , char * argv [ ] )
{
int debug = 0 ;
char m_time [ 32 ] ;
char c_time [ 32 ] ;
char a_time [ 32 ] ;
const char * pSmbPath = NULL ;
const char * pLocalPath = NULL ;
struct stat st ;
2022-08-17 12:40:11 +03:00
int ret ;
2005-03-30 06:39:22 +04:00
2022-08-17 12:40:11 +03:00
if ( argc = = 1 ) {
2022-08-17 11:51:06 +03:00
pSmbPath = " smb://RANDOM/Public/small " ;
pLocalPath = " /random/home/samba/small " ;
}
2022-08-17 12:40:11 +03:00
else if ( argc = = 2 ) {
2022-08-17 11:51:06 +03:00
pSmbPath = argv [ 1 ] ;
pLocalPath = NULL ;
}
2022-08-17 12:40:11 +03:00
else if ( argc = = 3 ) {
2022-08-17 11:51:06 +03:00
pSmbPath = argv [ 1 ] ;
pLocalPath = argv [ 2 ] ;
2022-08-17 12:40:11 +03:00
} else {
printf ( " usage: %s [ smb://path/to/file "
" [ /nfs/or/local/path/to/file ] ] \n " ,
2022-08-17 11:51:06 +03:00
argv [ 0 ] ) ;
return 1 ;
}
2005-03-30 06:39:22 +04:00
2022-08-17 11:51:06 +03:00
smbc_init ( get_auth_data_fn , debug ) ;
2022-08-17 12:40:11 +03:00
ret = smbc_stat ( pSmbPath , & st ) ;
if ( ret < 0 ) {
2022-08-17 11:51:06 +03:00
perror ( " smbc_stat " ) ;
return 1 ;
}
printf ( " \n SAMBA \n mtime:%lld/%s ctime:%lld/%s atime:%lld/%s \n " ,
( long long ) st . st_mtime , ctime_r ( & st . st_mtime , m_time ) ,
( long long ) st . st_ctime , ctime_r ( & st . st_ctime , c_time ) ,
( long long ) st . st_atime , ctime_r ( & st . st_atime , a_time ) ) ;
2022-08-17 12:40:11 +03:00
if ( pLocalPath ! = NULL ) {
ret = stat ( pLocalPath , & st ) ;
if ( ret < 0 ) {
2022-08-17 11:51:06 +03:00
perror ( " stat " ) ;
return 1 ;
}
printf ( " LOCAL \n mtime:%lld/%s ctime:%lld/%s atime:%lld/%s \n " ,
( long long ) st . st_mtime , ctime_r ( & st . st_mtime , m_time ) ,
( long long ) st . st_ctime , ctime_r ( & st . st_ctime , c_time ) ,
( long long ) st . st_atime , ctime_r ( & st . st_atime , a_time ) ) ;
}
return 0 ;
2005-03-30 06:39:22 +04:00
}