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 ;
2005-03-30 06:39:22 +04:00
2022-08-17 11:51:06 +03:00
if ( argc = = 1 )
{
pSmbPath = " smb://RANDOM/Public/small " ;
pLocalPath = " /random/home/samba/small " ;
}
else if ( argc = = 2 )
{
pSmbPath = argv [ 1 ] ;
pLocalPath = NULL ;
}
else if ( argc = = 3 )
{
pSmbPath = argv [ 1 ] ;
pLocalPath = argv [ 2 ] ;
}
else
{
printf ( " usage: "
" %s [ smb://path/to/file [ /nfs/or/local/path/to/file ] ] \n " ,
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 ) ;
if ( smbc_stat ( pSmbPath , & st ) < 0 )
{
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 ) ) ;
if ( pLocalPath ! = NULL )
{
if ( stat ( pLocalPath , & st ) < 0 )
{
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
}