From 7ddb4d64810f3e58b43798de7f2dc2bf67df59d5 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 3 Feb 2009 12:48:06 +0200 Subject: Added errno. --- errno | 16 ++++++++++++++++ errno.1 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100755 errno create mode 100644 errno.1 diff --git a/errno b/errno new file mode 100755 index 0000000..2a39e2f --- /dev/null +++ b/errno @@ -0,0 +1,16 @@ +#!/usr/bin/python + +import errno +import os +import sys + +toname = dict((str(getattr(errno, x)), x) for x in dir(errno) if x.startswith("E")) +tocode = dict((x, getattr(errno, x)) for x in dir(errno) if x.startswith("E")) + +for arg in sys.argv[1:]: + if arg in tocode: + print arg, tocode[arg], os.strerror(tocode[arg]) + elif arg in toname: + print toname[arg], arg, os.strerror(int(arg)) + else: + print "Unknown:", arg diff --git a/errno.1 b/errno.1 new file mode 100644 index 0000000..aefb0ff --- /dev/null +++ b/errno.1 @@ -0,0 +1,51 @@ +.\" errno.1 - manual page for the errno command +.\" Copyright (C) 2009 Lars Wirzenius +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" 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. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +.TH ERRNO 1 +.SH NAME +errno \- look up errno codes or names +.SH SYNOPSIS +.B errno +.RI [ code | name ]... +.SH DESCRIPTION +.B errno +prints the description of +.BR errno (3) +values, from the command line. +It can look descriptions based on the numeric code or names like +.BR EEXIST . +.PP +For example, to look up what the code 2 means: +.sp 1 +.nf +.RS +$ errno 2 +ENOENT 2 No such file or directory +.RE +.fi +.sp 1 +Similarly, to look up what the code EEXIST means: +.sp 1 +.nf +.RS +$ errno EEXIST +EEXIST 17 File exists +.RE +.fi +.sp 1 +Note that the output always lists both the name and the code. +.SH "SEE ALSO" +.BR errno (3). -- cgit v1.2.1