1#!/usr/bin/env perl
2#
3##########################################################################
4# @(#) App::PFM::OS::Hpux 0.03
5#
6# Name:			App::PFM::OS::Hpux
7# Version:		0.03
8# Author:		Rene Uittenbogaard
9# Created:		2010-08-22
10# Date:			2010-08-26
11#
12
13##########################################################################
14
15=pod
16
17=head1 NAME
18
19App::PFM::OS::Hpux
20
21=head1 DESCRIPTION
22
23PFM OS class for access to HP-UX-specific OS commands.
24
25=head1 METHODS
26
27=over
28
29=cut
30
31##########################################################################
32# declarations
33
34package App::PFM::OS::Hpux;
35
36use base 'App::PFM::OS::Abstract';
37
38use strict;
39use locale;
40
41use constant {
42	MINORBITS => 2 ** 24,
43	IFMTCHARS => ' pc?d?b?-nl?sDw?', # with whiteouts and network special
44};
45
46##########################################################################
47# private subs
48
49##########################################################################
50# constructor, getters and setters
51
52##########################################################################
53# public subs
54
55=item df(string $path)
56
57HP-UX-specific method for requesting filesystem info.
58
59=cut
60
61sub df {
62	my ($self, $file) = @_;
63	my @lines = $self->backtick('bdf', $file);
64	return $self->_df_unwrap(@lines);
65}
66
67=item du(string $path)
68
69HP-UX-specific method for requesting file space usage info
70using du(1).
71
72=cut
73
74sub du {
75	my ($self, $file) = @_;
76	my $line = $self->backtick(qw{du -s}, $file);
77	$line =~ /(\d+)/;
78	$line = 512 * $1;
79	return $line;
80}
81
82=item aclget(string $path)
83
84Gets a file's Access Control List.
85
86=cut
87
88sub aclget {
89	my ($self, $path) = @_;
90	return $self->backtick('getacl', $path);
91}
92
93=item aclput(string $path, string $aclfilename)
94
95Sets a file's Access Control List from the data in a temporary file.
96
97=cut
98
99sub aclput {
100	my ($self, $path, $aclfilename) = @_;
101	return $self->system(qw{setacl -f}, $aclfilename, $path);
102}
103
104##########################################################################
105
106=back
107
108=head1 SEE ALSO
109
110pfm(1), App::PFM::OS(3pm), App::PFM::OS::Abstract(3pm).
111
112=cut
113
1141;
115
116# vim: set tabstop=4 shiftwidth=4:
117