diff options
| author | Christian Breunig <christian@breunig.cc> | 2024-07-01 13:26:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-01 13:26:09 +0200 |
| commit | b8bdc8a668ee7786fc6c19f91d18b944a5e9cdbc (patch) | |
| tree | e9697cbe7ef50908ce96a0a57e76f7d7b7bcaeb2 /lib/Vyatta/ioctl.pm | |
| parent | 6f435de5a5ee165d24a11a28c5aa10b735bace03 (diff) | |
| parent | 069bd35b3cc58e0deeae02d3a7811d29c1ccea3f (diff) | |
| download | vyatta-cfg-b8bdc8a668ee7786fc6c19f91d18b944a5e9cdbc.tar.gz vyatta-cfg-b8bdc8a668ee7786fc6c19f91d18b944a5e9cdbc.zip | |
Merge pull request #83 from c-po/no-legacy
T6527: remove legacy Perl library components
Diffstat (limited to 'lib/Vyatta/ioctl.pm')
| -rw-r--r-- | lib/Vyatta/ioctl.pm | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/lib/Vyatta/ioctl.pm b/lib/Vyatta/ioctl.pm deleted file mode 100644 index 6572231..0000000 --- a/lib/Vyatta/ioctl.pm +++ /dev/null @@ -1,67 +0,0 @@ -# Author: John Southworth <john.southworth@vyatta.com> -# Date: 2012 -# Description: vyatta ioctl functions - -# **** License **** -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# This code was originally developed by Vyatta, Inc. -# Portions created by Vyatta are Copyright (C) 2008 Vyatta, Inc. -# All Rights Reserved. -# **** End License **** - -package Vyatta::ioctl; - -use strict; -use warnings; -use Socket; -Socket6->import(qw(inet_pton getaddrinfo)); - -{ - local $^W = 0; - require 'sys/ioctl.ph'; -} - -our @EXPORT = qw(get_terminal_size get_interface_flags); -use base qw(Exporter); - - -# returns (rows, columns) for terminal size; -sub get_terminal_size { - # undefined if not terminal attached - open(my $TTY, '>', '/dev/tty') - or return; - - my $winsize = ''; - # undefined if output not going to terminal - return unless (ioctl($TTY, &TIOCGWINSZ, $winsize)); - close($TTY); - - my ($rows, $cols, undef, undef) = unpack('S4', $winsize); - return ($rows, $cols); -} - -#Do SIOCGIFFLAGS ioctl in perl -sub get_interface_flags { - my $name = shift; - - socket (my $sock, AF_INET, SOCK_DGRAM, 0) - or die "open UDP socket failed: $!"; - - my $ifreq = pack('a16', $name); - ioctl($sock, &SIOCGIFFLAGS, $ifreq) - or return; #undef - - my (undef, $flags) = unpack('a16s', $ifreq); - return $flags; - -} - -1; |
