ANNOUNCE: New module Sys::PortIO 0.1 uploaded to CPAN

From: Andrew Ho (andrew.ho_at_gmail.com)
Date: 03/05/05


Date: 5 Mar 2005 10:34:26 -0800

Hello,

I've uploaded a new module Sys::PortIO 0.1 to CPAN. This module
provides Perl access via XS glue to the OS-dependent routines necessary
to do arbitrary port I/O; on Unix-like systems, this is generally the
inb() and outb() functions, as well as functions to obtain permission
to use them. These functions are useful for doing things like
controlling arbitrary interfaces to parallel, serial, or joystick
ports.

Here is the text of the README that ships with this module:

This is Sys::PortIO, a Perl interface to direct port I/O functions (on
Unix-like systems, inb() and outb() and friends). You can install it in
the typical CPAN module manner:

    % perl Makefile.PL
    % make
    % make test
    # make install

You can find the latest distribution at the following URL:

    http://www.zeuscat.com/andrew/src/Sys-PortIO-0.1.tar.gz

You can also find it at your friendly neighborhood CPAN:

    http://www.perl.com/CPAN-local/modules/by-module/Sys/

Appended below is are the Changes and POD documentation from PortIO.pm.

Contact Andrew Ho (andrew@zeuscat.com) with comments or bug reports.

========================================================================

Revision history for Perl extension Sys::PortIO.

0.1 - March 4, 2005

  * Original version, created by Andrew Ho (andrew@zeuscat.com),
    rolled.

========================================================================

NAME

    Sys::PortIO - perform direct port I/O from Perl

SYNOPSIS

        use Sys::PortIO;

        port_open($portnum);
        write_byte($portnum, $value);
        $value = read_byte($portnum);
        port_close($portnum);

DESCRIPTION

    This module provides a Perl interface to the low-level port I/O
    operations provided by Linux, FreeBSD, or OpenBSD. Among other
    things, this is useful for writing Perl scripts that interface
    with parallel, serial, or joystick ports.

BUGS

    On some systems (for example, Linux), doing a port read or write
    on an unopened port will cause a segmentation fault.

TODO

    Support optional range argument to "port_open()".
    Set $! on errors, instead of dying (sometimes with a segfault).
    Alternately, automatically open ports as needed.

SEE ALSO

    Linux I/O port mini-HOWTO:
    <http://www.faqs.org/docs/Linux-mini/IO-Port-Programming.html>

    On Linux or other glibc systems, see ioperm(2), inb(2), and
    outb(2). FreeBSD uses /dev/io for port access. On OpenBSD and
    NetBSD, see i386_iopl(2) and sysarch(2).

AUTHOR

    Andrew Ho, <andrew@zeuscat.com>

COPYRIGHT AND LICENSE

    Copyright (C) 2005 by Andrew Ho.

    This library is free software; you can redistribute it and/or
    modify it under the same terms as Perl itself, either Perl
    version 5.6.0 or, at your option, any later version of Perl 5
    you may have available.

Please let me know if there are any questions or comments. Thanks!

Humbly,

Andrew

-----------------------------------------------------------------------
'Twas brillig, and the slithy toves Andrew Ho
 Did gyre and gimble in the wabe. andrew@zeuscat.com
 All mimsy were the borogoves,
 And the mome raths outgrabe. http://www.zeuscat.com/andrew/
-----------------------------------------------------------------------



Relevant Pages

  • Re: how to build Spamassassin
    ... The ports collection is great for certain things. ... it for spam assassin on 4.9 Stable. ... Install Perl 5.8.2 from ports ... Install Spam assassin from ports ...
    (freebsd-questions)
  • Re: Can anyone program perl and fix a script?
    ... you would find lots of perl code to look at for examples of a perl commands. ... that is a huge list of ports and services. ... grep torrent /etc/services and see what you can see. ... Sounds like you need a filter rule in iptables to throttle torrent connection. ...
    (alt.os.linux)
  • Re: devel/imake-4 errors out on mkhtmlindex
    ... I just stumbled over the same problem, it turned out to be a perl problem. ... After installing perl from the ports one should do something like ... installing man pages in config/pswrap... ...
    (freebsd-questions)
  • Re: How to update perl on FreeBSD 4.9R (Resolved)
    ... > I did not know you could install Perl module's through the ports. ... > Perl module's via the ports, I got involved in an area which I ... > no mention that you can install Perl modules from the ports, ...
    (freebsd-questions)
  • Re: pam_ldap setting question
    ... Looks like your pkg_db got messed up, probably you sucked in some perl ... stuff via CPAN instead of ports, but who knows better than you. ... Regards, ...
    (comp.unix.bsd.freebsd.misc)