Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

lfc_perl(3) [debian man page]

lfc_perl(3)						 Perl Programmers Reference Guide					       lfc_perl(3)

NAME
lfc - Perl interface to the LFC SYNOPSIS
use lfc; printf "CNS_LIST_BEGIN is %d ", $lfc::CNS_LIST_BEGIN; DESCRIPTION
The lfc module permits you to access the LFC client interface from perl programs. The lfc module is a swig wrapping of the standard C interface. For detailed descriptions of each function see the individual man page of each function. There follows a series of examples of how to use selected functions and how to retrieve the information returned by them: Examples are finding the GUID of an existing entry, listing the replicas of a given GUID and setting and retrieving the comment associated with an entry. EXAMPLE
#!/usr/bin/perl -w use strict; use lfc; # stat an existing entry in the LFC and print the GUID my ($name,$stat,$guid,$res); $name = "/grid/dteam/my.test"; $stat = lfcc::new_lfc_filestatg(); $res = lfc::lfc_statg($name,undef,$stat); if ($res == 0) { $guid = lfcc::lfc_filestatg_guid_get($stat); print "The GUID for $name is $guid "; } else { my $err_num = $lfc::serrno; my $err_string = lfc::sstrerror($err_num); print "There was an error while looking for $name: Error $err_num ($err_string) "; exit(1); } lfcc::delete_lfc_filestatg($stat); EXAMPLE
#!/usr/bin/perl -w use strict; use lfc; # list the replicas of a given entry, starting from the GUID my ($guid,$listp,$flag,$num_replicas); $guid = "6a3164e0-a4d7-4abe-9f76-e3b8882735d1"; $listp = lfcc::new_lfc_list(); $flag = $lfc::CNS_LIST_BEGIN; print "Listing replicas for GUID $guid: "; $num_replicas=0; while(1) { my $res = lfc::lfc_listreplica(undef,$guid,$flag,$listp); $flag = $lfc::CNS_LIST_CONTINUE; if (!defined $res) { last; } else { my $rep_name = lfcc::lfc_filereplica_sfn_get($res); print "Replica: $rep_name "; $num_replicas++; } } lfc::lfc_listreplica(undef,$guid,$lfc::CNS_LIST_END,$listp); lfcc::delete_lfc_list($listp); print "Found $num_replicas replica(s) "; EXAMPLE
#!/usr/bin/perl -w use strict; use lfc; # setting and retrieving a comment on a file my ($file,$res,$bufspec,$buffer,$comment); $file = "/grid/dteam/my.test"; $comment = "MyComment"; $res = lfc::lfc_setcomment($file,$comment); if ($res != 0) { my $err_num = $lfc::serrno; my $err_string = lfc::sstrerror($err_num); print "Problem while setting comment for $file: Error $err_num ($err_string) "; exit(1); } $bufspec = "x".($lfc::CA_MAXCOMMENTLEN+1); $buffer = pack($bufspec); $res = lfc::lfc_getcomment($file,$buffer); if ($res != 0) { my $err_num = $lfc::serrno; my $err_string = lfc::sstrerror($err_num); print "Problem while reading the comment for $file: Error $err_num ($err_string) "; exit(1); } $comment = unpack("Z*", $buffer); print "Read back comment $comment "; NOTES
The current interface to the lfc_getcomment(3), lfc_getcwd(3), lfc_readlink(3), lfc_seterrbuf(3) requires the passing of a suitably allo- cated buffer (in a similar way to the C functions). However this is rather non standard in PERL. A future version of lfc perl interface may do away with the need to setup the buffer before the call and to explicitly unpack the result afterwards. SEE ALSO
LFC C interface man pages LFC
$Date: 2007/02/23 10:03:07 $ lfc_perl(3)

Check Out this Related Man Page

LFC-LS(1)							 LFC User Commands							 LFC-LS(1)

NAME
lfc-ls - list LFC name server directory/file entries SYNOPSIS
lfc-ls [-cdhiLlRTu] [--class] [--comment] [--deleted] [--display_side] [--ds] [--si] path... DESCRIPTION
lfc-ls lists LFC name server directory/file entries. If path is a directory, lfc-ls list the entries in the directory; they are sorted alphabetically. path specifies the LFC pathname. If path does not start with /, it is prefixed by the content of the LFC_HOME environment variable. OPTIONS
-c use time of last metadata modification instead of last file modification. -d if path is a directory, list the directory entry itself, not the files in that directory. -h with -l, print sizes in human readable format, using few digits and a suffix k, M, G, T or P to indicate kB, MB, GB, TB or PB respectively. -i print the file uniqueid in front of each entry. -L for symbolic links, print target attributes instead of link attributes. -l long listing (see below). -R list the contents of directories recursively. -T list file segments migrated to tape. -u use last access time instead of last modification. --class print the file class in front of each entry. --comment print the comment associated with the entry after the pathname. --deleted print also the logically deleted files. --display_side or --ds print the vid followed by a slash followed by the media side number. This option is valid only if -T is specified and is useful for multi-sided media like DVD. --si use powers of 1000 not 1024 for sizes. The long list gives the file mode, the number of entries in the directory, the owner in alphabetic form or as a valid numeric ID, the group in alphabetic form or as a valid numerci ID, the file size, the last modification date and the file name. The mode is printed as 10 characters, the first one is d for a directory, D for a logically deleted file, l for a symbolic link, m for a migrated file and - for a regular file. The next 9 characters are three triplets: the first triplet gives read, write and execute/search permission for the owner, the second triplet for the group and the last one for the others. r the file is readable w the file is writable x the file is executable or the directory is searchable - permission is not granted s set-user-ID or set-group-ID bit is on and corresponding execute bit is on S set-user-ID or set-group-ID bit is on but corresponding execute bit is off t sticky bit is on The file segments list gives the file segment status, the copy number, the file segment number, the tape visual identifier, the file sequence number on tape, the blockid, the segment size, the compression factor and the file name. The segment status can be either - for an active segment or D for a logically deleted segment. EXIT STATUS
This program returns 0 if the operation was successful or >0 if the operation failed. SEE ALSO
Castor_limits(4), lfc_chmod(3), AUTHOR
LCG Grid Deployment Team LFC
$Date: 2011-03-15 08:02:08 +0100 (Tue, 15 Mar 2011) $ LFC-LS(1)
Man Page