/* Added vfs mount options - aeb - 960223 */
/* Removed lomount - aeb - 960224 */
-/*
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
* - added Native Language Support
- * 1999-03-21 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
* - fixed strerr(errno) in gettext calls
- * 2000-09-24 Marc Mutz <Marc@Mutz.com>
- * - added -p option to pass passphrases via fd's to losetup/mount.
- * Used for encryption in non-interactive environments.
- * The idea behind xgetpass() is stolen from GnuPG, v.1.0.3.
*/
-#define LOOPMAJOR 7
+#define PROC_DEVICES "/proc/devices"
/*
* losetup.c - setup and control loop devices
extern void error (const char *fmt, ...); /* idem */
#ifdef LOOP_SET_FD
-
-static int
-loop_info64_to_old(const struct loop_info64 *info64, struct loop_info *info)
-{
- memset(info, 0, sizeof(*info));
- info->lo_number = info64->lo_number;
- info->lo_device = info64->lo_device;
- info->lo_inode = info64->lo_inode;
- info->lo_rdevice = info64->lo_rdevice;
- info->lo_offset = info64->lo_offset;
- info->lo_encrypt_type = info64->lo_encrypt_type;
- info->lo_encrypt_key_size = info64->lo_encrypt_key_size;
- info->lo_flags = info64->lo_flags;
- info->lo_init[0] = info64->lo_init[0];
- info->lo_init[1] = info64->lo_init[1];
- if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
- memcpy(info->lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
- else
- memcpy(info->lo_name, info64->lo_file_name, LO_NAME_SIZE);
- memcpy(info->lo_encrypt_key, info64->lo_encrypt_key, LO_KEY_SIZE);
-
- /* error in case values were truncated */
- if (info->lo_device != info64->lo_device ||
- info->lo_rdevice != info64->lo_rdevice ||
- info->lo_inode != info64->lo_inode ||
- info->lo_offset != info64->lo_offset)
- return -EOVERFLOW;
-
- return 0;
+struct crypt_type_struct {
+ int id;
+ char *name;
+} crypt_type_tbl[] = {
+ { LO_CRYPT_NONE, "no" },
+ { LO_CRYPT_NONE, "none" },
+ { LO_CRYPT_XOR, "xor" },
+ { LO_CRYPT_DES, "DES" },
+ { -1, NULL }
+};
+
+static int
+crypt_type (const char *name) {
+ int i;
+
+ if (name) {
+ for (i = 0; crypt_type_tbl[i].id != -1; i++)
+ if (!strcasecmp (name, crypt_type_tbl[i].name))
+ return crypt_type_tbl[i].id;
+ }
+ return -1;
}
#ifdef MAIN
+static char *
+crypt_name (int id) {
+ int i;
+
+ for (i = 0; crypt_type_tbl[i].id != -1; i++)
+ if (id == crypt_type_tbl[i].id)
+ return crypt_type_tbl[i].name;
+ return "undefined";
+}
static int
-show_loop(char *device) {
+show_loop (char *device) {
struct loop_info loopinfo;
- struct loop_info64 loopinfo64;
- int fd, errsv;
+ int fd;
- if ((fd = open(device, O_RDONLY)) < 0) {
+ if ((fd = open (device, O_RDONLY)) < 0) {
int errsv = errno;
fprintf(stderr, _("loop: can't open device %s: %s\n"),
device, strerror (errsv));
return 2;
}
-
- if (ioctl(fd, LOOP_GET_STATUS64, &loopinfo64) == 0) {
-
- loopinfo64.lo_file_name[LO_NAME_SIZE-2] = '*';
- loopinfo64.lo_file_name[LO_NAME_SIZE-1] = 0;
- loopinfo64.lo_crypt_name[LO_NAME_SIZE-1] = 0;
-
- printf("%s: [%04llx]:%llu (%s)",
- device, loopinfo64.lo_device, loopinfo64.lo_inode,
- loopinfo64.lo_file_name);
-
- if (loopinfo64.lo_offset)
- printf(_(", offset %lld"), loopinfo64.lo_offset);
-
- if (loopinfo64.lo_sizelimit)
- printf(_(", sizelimit %lld"), loopinfo64.lo_sizelimit);
-
- if (loopinfo64.lo_encrypt_type ||
- loopinfo64.lo_crypt_name[0]) {
- char *e = loopinfo64.lo_crypt_name;
-
- if (*e == 0 && loopinfo64.lo_encrypt_type == 1)
- e = "XOR";
- printf(_(", encryption %s (type %d)"),
- e, loopinfo64.lo_encrypt_type);
- }
- printf("\n");
- close (fd);
- return 0;
- }
-
- if (ioctl(fd, LOOP_GET_STATUS, &loopinfo) == 0) {
- printf ("%s: [%04x]:%ld (%s)",
- device, loopinfo.lo_device, loopinfo.lo_inode,
- loopinfo.lo_name);
-
- if (loopinfo.lo_offset)
- printf(_(", offset %d"), loopinfo.lo_offset);
-
- if (loopinfo.lo_encrypt_type)
- printf(_(", encryption type %d\n"),
- loopinfo.lo_encrypt_type);
-
- printf("\n");
+ if (ioctl (fd, LOOP_GET_STATUS, &loopinfo) < 0) {
+ int errsv = errno;
+ fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
+ device, strerror (errsv));
close (fd);
- return 0;
+ return 1;
}
-
- errsv = errno;
- fprintf(stderr, _("loop: can't get info on device %s: %s\n"),
- device, strerror (errsv));
+ printf (_("%s: [%04x]:%ld (%s) offset %d, %s encryption\n"),
+ device, loopinfo.lo_device, loopinfo.lo_inode,
+ loopinfo.lo_name, loopinfo.lo_offset,
+ crypt_name (loopinfo.lo_encrypt_type));
close (fd);
- return 1;
+
+ return 0;
}
#endif
int
is_loop_device (const char *device) {
struct stat statbuf;
-
- return (stat(device, &statbuf) == 0 &&
+ int loopmajor;
+#if 1
+ loopmajor = 7;
+#else
+ FILE *procdev;
+ char line[100], *cp;
+
+ loopmajor = 0;
+ if ((procdev = fopen(PROC_DEVICES, "r")) != NULL) {
+ while (fgets (line, sizeof(line), procdev)) {
+ if ((cp = strstr (line, " loop\n")) != NULL) {
+ *cp='\0';
+ loopmajor=atoi(line);
+ break;
+ }
+ }
+ fclose(procdev);
+ }
+#endif
+ return (loopmajor && stat(device, &statbuf) == 0 &&
S_ISBLK(statbuf.st_mode) &&
- major(statbuf.st_rdev) == LOOPMAJOR);
+ major(statbuf.st_rdev) == loopmajor);
}
#define SIZE(a) (sizeof(a)/sizeof(a[0]))
So, we just try /dev/loop[0-7]. */
char dev[20];
char *loop_formats[] = { "/dev/loop%d", "/dev/loop/%d" };
- int i, j, fd, somedev = 0, someloop = 0;
+ int i, j, fd, somedev = 0, someloop = 0, loop_known = 0;
struct stat statbuf;
struct loop_info loopinfo;
+ FILE *procdev;
for (j = 0; j < SIZE(loop_formats); j++) {
for(i = 0; i < 256; i++) {
}
}
+ /* Nothing found. Why not? */
+ if ((procdev = fopen(PROC_DEVICES, "r")) != NULL) {
+ char line[100];
+ while (fgets (line, sizeof(line), procdev))
+ if (strstr (line, " loop\n")) {
+ loop_known = 1;
+ break;
+ }
+ fclose(procdev);
+ if (!loop_known)
+ loop_known = -1;
+ }
+
if (!somedev)
error(_("mount: could not find any device /dev/loop#"));
else if (!someloop) {
+ if (loop_known == 1)
+ error(_(
+ "mount: Could not find any loop device.\n"
+ " Maybe /dev/loop# has a wrong major number?"));
+ else if (loop_known == -1)
+ error(_(
+ "mount: Could not find any loop device, and, according to %s,\n"
+ " this kernel does not know about the loop device.\n"
+ " (If so, then recompile or `insmod loop.o'.)"),
+ PROC_DEVICES);
+ else
error(_(
- "mount: Could not find any loop device. Maybe this kernel "
- "does not know\n"
- " about the loop device? (If so, recompile or "
- "`modprobe loop'.)"));
+ "mount: Could not find any loop device. Maybe this kernel does not know\n"
+ " about the loop device (then recompile or `insmod loop.o'), or\n"
+ " maybe /dev/loop# has the wrong major number?"));
} else
error(_("mount: could not find any free loop device"));
return 0;
}
-/*
- * A function to read the passphrase either from the terminal or from
- * an open file descriptor.
- */
-static char *
-xgetpass(int pfd, const char *prompt) {
- char *pass;
- int buflen, i;
-
- if (pfd < 0) /* terminal */
- return getpass(prompt);
-
- pass = NULL;
- buflen = 0;
- for (i=0; ; i++) {
- if (i >= buflen-1) {
- /* we're running out of space in the buffer.
- * Make it bigger: */
- char *tmppass = pass;
- buflen += 128;
- pass = realloc(tmppass, buflen);
- if (pass == NULL) {
- /* realloc failed. Stop reading. */
- error("Out of memory while reading passphrase");
- pass = tmppass; /* the old buffer hasn't changed */
- break;
- }
- }
- if (read(pfd, pass+i, 1) != 1 || pass[i] == '\n')
- break;
- }
- if (pass == NULL)
- return "";
- else {
- pass[i] = 0;
- return pass;
- }
-}
-
-static int
-digits_only(const char *s) {
- while (*s)
- if (!isdigit(*s++))
- return 0;
- return 1;
-}
-
int
-set_loop(const char *device, const char *file, int offset,
- const char *encryption, int pfd, int *loopro) {
- struct loop_info64 loopinfo64;
- int fd, ffd, mode;
+set_loop (const char *device, const char *file, int offset,
+ const char *encryption, int *loopro) {
+ struct loop_info loopinfo;
+ int fd, ffd, mode, i;
char *pass;
mode = (*loopro ? O_RDONLY : O_RDWR);
- if ((ffd = open(file, mode)) < 0) {
+ if ((ffd = open (file, mode)) < 0) {
if (!*loopro && errno == EROFS)
- ffd = open(file, mode = O_RDONLY);
+ ffd = open (file, mode = O_RDONLY);
if (ffd < 0) {
- perror(file);
+ perror (file);
return 1;
}
}
- if ((fd = open(device, mode)) < 0) {
+ if ((fd = open (device, mode)) < 0) {
perror (device);
return 1;
}
*loopro = (mode == O_RDONLY);
- memset(&loopinfo64, 0, sizeof(loopinfo64));
-
- xstrncpy(loopinfo64.lo_file_name, file, LO_NAME_SIZE);
-
- if (encryption && *encryption) {
- if (digits_only(encryption)) {
- loopinfo64.lo_encrypt_type = atoi(encryption);
- } else {
- loopinfo64.lo_encrypt_type = LO_CRYPT_CRYPTOAPI;
- snprintf(loopinfo64.lo_crypt_name, LO_NAME_SIZE,
- "%s", encryption);
- }
+ memset (&loopinfo, 0, sizeof (loopinfo));
+ xstrncpy (loopinfo.lo_name, file, LO_NAME_SIZE);
+ if (encryption && (loopinfo.lo_encrypt_type = crypt_type (encryption))
+ < 0) {
+ fprintf (stderr, _("Unsupported encryption type %s\n"),
+ encryption);
+ return 1;
}
-
- loopinfo64.lo_offset = offset;
+ loopinfo.lo_offset = offset;
#ifdef MCL_FUTURE
/*
}
#endif
- switch (loopinfo64.lo_encrypt_type) {
+ switch (loopinfo.lo_encrypt_type) {
case LO_CRYPT_NONE:
- loopinfo64.lo_encrypt_key_size = 0;
+ loopinfo.lo_encrypt_key_size = 0;
break;
case LO_CRYPT_XOR:
- pass = getpass(_("Password: "));
- xstrncpy(loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
- loopinfo64.lo_encrypt_key_size =
- strlen(loopinfo64.lo_encrypt_key);
+ pass = getpass (_("Password: "));
+ xstrncpy (loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
+ loopinfo.lo_encrypt_key_size = strlen(loopinfo.lo_encrypt_key);
+ break;
+ case LO_CRYPT_DES:
+ pass = getpass (_("Password: "));
+ strncpy (loopinfo.lo_encrypt_key, pass, 8);
+ loopinfo.lo_encrypt_key[8] = 0;
+ loopinfo.lo_encrypt_key_size = 8;
+ pass = getpass (_("Init (up to 16 hex digits): "));
+ for (i = 0; i < 16 && pass[i]; i++)
+ if (isxdigit (pass[i])) {
+ loopinfo.lo_init[i >> 3] |= (pass[i] > '9' ?
+ (islower (pass[i]) ? toupper (pass[i]) :
+ pass[i])-'A'+10 : pass[i]-'0') << (i&7) * 4;
+ } else {
+ fprintf (stderr, _("Non-hex digit '%c'.\n"),
+ pass[i]);
+ return 1;
+ }
break;
default:
- pass = xgetpass(pfd, _("Password: "));
- xstrncpy(loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
- loopinfo64.lo_encrypt_key_size = LO_KEY_SIZE;
+ fprintf (stderr,
+ _("Don't know how to get key for encryption system %d\n"),
+ loopinfo.lo_encrypt_type);
+ return 1;
}
-
- if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
- perror("ioctl: LOOP_SET_FD");
+ if (ioctl (fd, LOOP_SET_FD, ffd) < 0) {
+ perror ("ioctl: LOOP_SET_FD");
return 1;
}
- close (ffd);
-
- if (ioctl(fd, LOOP_SET_STATUS64, &loopinfo64) < 0) {
- struct loop_info loopinfo;
- int errsv = errno;
-
- errno = loop_info64_to_old(&loopinfo64, &loopinfo);
- if (errno) {
- errno = errsv;
- perror("ioctl: LOOP_SET_STATUS64");
- goto fail;
- }
-
- if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- perror("ioctl: LOOP_SET_STATUS");
- goto fail;
- }
+ if (ioctl (fd, LOOP_SET_STATUS, &loopinfo) < 0) {
+ (void) ioctl (fd, LOOP_CLR_FD, 0);
+ perror ("ioctl: LOOP_SET_STATUS");
+ return 1;
}
-
close (fd);
+ close (ffd);
if (verbose > 1)
printf(_("set_loop(%s,%s,%d): success\n"),
device, file, offset);
return 0;
-
- fail:
- (void) ioctl (fd, LOOP_CLR_FD, 0);
- close (fd);
- return 1;
}
int
int
main(int argc, char **argv) {
- char *offset, *encryption, *passfd;
- int delete, off, c;
+ char *offset, *encryption;
+ int delete,off,c;
int res = 0;
int ro = 0;
- int pfd = -1;
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
delete = off = 0;
- offset = encryption = passfd = NULL;
+ offset = encryption = NULL;
progname = argv[0];
- while ((c = getopt(argc,argv,"de:E:o:p:v")) != -1) {
+ while ((c = getopt(argc,argv,"de:o:v")) != -1) {
switch (c) {
case 'd':
delete = 1;
break;
- case 'E':
case 'e':
encryption = optarg;
break;
case 'o':
offset = optarg;
break;
- case 'p':
- passfd = optarg;
- break;
case 'v':
verbose = 1;
break;
} else {
if (offset && sscanf(offset,"%d",&off) != 1)
usage();
- if (passfd && sscanf(passfd,"%d",&pfd) != 1)
- usage();
- res = set_loop(argv[optind], argv[optind+1], off,
- encryption, pfd, &ro);
+ res = set_loop(argv[optind],argv[optind+1],off,encryption,&ro);
}
return res;
}
{"label", 1552},
{"mount: no such partition found", 1553},
{"mount: no type was given - I'll assume nfs because of the colon\n", 1554},
- {"mount: no type was given - I'll assume smbfs because of the // prefix\n", 1555},
+ {"mount: no type was given - I'll assume smb because of the // prefix\n", 1555},
{"mount: backgrounding \"%s\"\n", 1556},
{"mount: giving up \"%s\"\n", 1557},
{"mount: %s already mounted on %s\n", 1558},
mount --move olddir newdir\n\
A device can be given by name, say /dev/hda1 or /dev/cdrom,\n\
or by label, using -L label or by uuid, using -U uuid .\n\
-Other options: [-nfFrsvw] [-o options] [-p passwdfd].\n\
+Other options: [-nfFrsvw] [-o options].\n\
For many more details, say man 8 mount .\n", 1559},
- {"mount: argument to -p or --pass-fd must be a number", 1560},
- {"mount: only root can do that", 1561},
- {"mount: no %s found - creating it..\n", 1562},
- {"mount: the label %s occurs on both %s and %s - not mounted\n", 1563},
- {"mount: mounting %s\n", 1564},
- {"nothing was mounted", 1565},
- {"mount: cannot find %s in %s", 1566},
- {"mount: can't find %s in %s or %s", 1567},
- {"\
-mount: could not open %s, so UUID and LABEL conversion cannot be done.\n", 1568},
- {"mount: bad UUID", 1569},
- {"mount: error while guessing filesystem type\n", 1570},
- {"mount: you didn't specify a filesystem type for %s\n", 1571},
- {" I will try all types mentioned in %s or %s\n", 1572},
- {" and it looks like this is swapspace\n", 1573},
- {" I will try type %s\n", 1574},
- {"Trying %s\n", 1575},
- {"mount: excessively long host:dir argument\n", 1576},
- {"mount: warning: multiple hostnames not supported\n", 1577},
- {"mount: directory to mount not in host:dir format\n", 1578},
- {"mount: can't get address for %s\n", 1579},
- {"mount: got bad hp->h_length\n", 1580},
- {"mount: excessively long option argument\n", 1581},
- {"Warning: Unrecognized proto= option.\n", 1582},
- {"Warning: Option namlen is not supported.\n", 1583},
- {"unknown nfs mount parameter: %s=%d\n", 1584},
- {"Warning: option nolock is not supported.\n", 1585},
- {"unknown nfs mount option: %s%s\n", 1586},
- {"mount: got bad hp->h_length?\n", 1587},
- {"NFS over TCP is not supported.\n", 1588},
- {"nfs socket", 1589},
- {"nfs bindresvport", 1590},
- {"nfs server reported service unavailable", 1591},
- {"used portmapper to find NFS port\n", 1592},
- {"using port %d for nfs deamon\n", 1593},
- {"nfs connect", 1594},
- {"unknown nfs status return value: %d", 1595},
- {"bug in xstrndup call", 1596},
+ {"mount: only root can do that", 1560},
+ {"mount: no %s found - creating it..\n", 1561},
+ {"mount: the label %s occurs on both %s and %s - not mounted\n", 1562},
+ {"mount: mounting %s\n", 1563},
+ {"nothing was mounted", 1564},
+ {"mount: cannot find %s in %s", 1565},
+ {"mount: can't find %s in %s or %s", 1566},
+ {"\
+mount: could not open %s, so UUID and LABEL conversion cannot be done.\n", 1567},
+ {"mount: bad UUID", 1568},
+ {"mount: error while guessing filesystem type\n", 1569},
+ {"mount: you didn't specify a filesystem type for %s\n", 1570},
+ {" I will try all types mentioned in %s or %s\n", 1571},
+ {" and it looks like this is swapspace\n", 1572},
+ {" I will try type %s\n", 1573},
+ {"Trying %s\n", 1574},
+ {"mount: excessively long host:dir argument\n", 1575},
+ {"mount: warning: multiple hostnames not supported\n", 1576},
+ {"mount: directory to mount not in host:dir format\n", 1577},
+ {"mount: can't get address for %s\n", 1578},
+ {"mount: got bad hp->h_length\n", 1579},
+ {"mount: excessively long option argument\n", 1580},
+ {"Warning: Unrecognized proto= option.\n", 1581},
+ {"Warning: Option namlen is not supported.\n", 1582},
+ {"unknown nfs mount parameter: %s=%d\n", 1583},
+ {"Warning: option nolock is not supported.\n", 1584},
+ {"unknown nfs mount option: %s%s\n", 1585},
+ {"mount: got bad hp->h_length?\n", 1586},
+ {"NFS over TCP is not supported.\n", 1587},
+ {"nfs socket", 1588},
+ {"nfs bindresvport", 1589},
+ {"nfs server reported service unavailable", 1590},
+ {"used portmapper to find NFS port\n", 1591},
+ {"using port %d for nfs deamon\n", 1592},
+ {"nfs connect", 1593},
+ {"unknown nfs status return value: %d", 1594},
+ {"bug in xstrndup call", 1595},
{"\
usage: %s [-hV]\n\
%s -a [-e] [-v]\n\
%s [-v] [-p priority] special ...\n\
- %s [-s]\n", 1597},
+ %s [-s]\n", 1596},
{"\
usage: %s [-hV]\n\
%s -a [-v]\n\
- %s [-v] special ...\n", 1598},
- {"%s on %s\n", 1599},
- {"swapon: cannot stat %s: %s\n", 1600},
- {"swapon: warning: %s has insecure permissions %04o, %04o suggested\n", 1601},
- {"swapon: Skipping file %s - it appears to have holes.\n", 1602},
- {"Not superuser.\n", 1603},
- {"%s: cannot open %s: %s\n", 1604},
- {"umount: compiled without support for -f\n", 1605},
- {"host: %s, directory: %s\n", 1606},
- {"umount: can't get address for %s\n", 1607},
- {"umount: got bad hostp->h_length\n", 1608},
- {"umount: %s: invalid block device", 1609},
- {"umount: %s: not mounted", 1610},
- {"umount: %s: can't write superblock", 1611},
- {"umount: %s: device is busy", 1612},
- {"umount: %s: not found", 1613},
- {"umount: %s: must be superuser to umount", 1614},
- {"umount: %s: block devices not permitted on fs", 1615},
- {"umount: %s: %s", 1616},
- {"no umount2, trying umount...\n", 1617},
- {"could not umount %s - trying %s instead\n", 1618},
- {"umount: %s busy - remounted read-only\n", 1619},
- {"umount: could not remount %s read-only\n", 1620},
- {"%s umounted\n", 1621},
- {"umount: cannot find list of filesystems to unmount", 1622},
+ %s [-v] special ...\n", 1597},
+ {"%s on %s\n", 1598},
+ {"swapon: cannot stat %s: %s\n", 1599},
+ {"swapon: warning: %s has insecure permissions %04o, %04o suggested\n", 1600},
+ {"swapon: Skipping file %s - it appears to have holes.\n", 1601},
+ {"Not superuser.\n", 1602},
+ {"%s: cannot open %s: %s\n", 1603},
+ {"umount: compiled without support for -f\n", 1604},
+ {"host: %s, directory: %s\n", 1605},
+ {"umount: can't get address for %s\n", 1606},
+ {"umount: got bad hostp->h_length\n", 1607},
+ {"umount: %s: invalid block device", 1608},
+ {"umount: %s: not mounted", 1609},
+ {"umount: %s: can't write superblock", 1610},
+ {"umount: %s: device is busy", 1611},
+ {"umount: %s: not found", 1612},
+ {"umount: %s: must be superuser to umount", 1613},
+ {"umount: %s: block devices not permitted on fs", 1614},
+ {"umount: %s: %s", 1615},
+ {"no umount2, trying umount...\n", 1616},
+ {"could not umount %s - trying %s instead\n", 1617},
+ {"umount: %s busy - remounted read-only\n", 1618},
+ {"umount: could not remount %s read-only\n", 1619},
+ {"%s umounted\n", 1620},
+ {"umount: cannot find list of filesystems to unmount", 1621},
{"\
Usage: umount [-hV]\n\
umount -a [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]\n\
- umount [-f] [-r] [-n] [-v] special | node...\n", 1623},
- {"Trying to umount %s\n", 1624},
- {"Could not find %s in mtab\n", 1625},
- {"umount: %s is not mounted (according to mtab)", 1626},
- {"umount: it seems %s is mounted multiple times", 1627},
- {"umount: %s is not in the fstab (and you are not root)", 1628},
- {"umount: %s mount disagrees with the fstab", 1629},
- {"umount: only root can unmount %s from %s", 1630},
- {"umount: only root can do that", 1631},
- {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1632},
- {"Usage: ctrlaltdel hard|soft\n", 1633},
+ umount [-f] [-r] [-n] [-v] special | node...\n", 1622},
+ {"Trying to umount %s\n", 1623},
+ {"Could not find %s in mtab\n", 1624},
+ {"umount: %s is not mounted (according to mtab)", 1625},
+ {"umount: it seems %s is mounted multiple times", 1626},
+ {"umount: %s is not in the fstab (and you are not root)", 1627},
+ {"umount: %s mount disagrees with the fstab", 1628},
+ {"umount: only root can unmount %s from %s", 1629},
+ {"umount: only root can do that", 1630},
+ {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1631},
+ {"Usage: ctrlaltdel hard|soft\n", 1632},
{"\
File %s, For threshold value %lu, Maximum characters in fifo were %d,\n\
-and the maximum transfer rate in characters/second was %f\n", 1634},
+and the maximum transfer rate in characters/second was %f\n", 1633},
{"\
File %s, For threshold value %lu and timrout value %lu, Maximum characters \
in fifo were %d,\n\
-and the maximum transfer rate in characters/second was %f\n", 1635},
- {"Invalid interval value: %s\n", 1636},
- {"Invalid set value: %s\n", 1637},
- {"Invalid default value: %s\n", 1638},
- {"Invalid set time value: %s\n", 1639},
- {"Invalid default time value: %s\n", 1640},
+and the maximum transfer rate in characters/second was %f\n", 1634},
+ {"Invalid interval value: %s\n", 1635},
+ {"Invalid set value: %s\n", 1636},
+ {"Invalid default value: %s\n", 1637},
+ {"Invalid set time value: %s\n", 1638},
+ {"Invalid default time value: %s\n", 1639},
{"\
Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) \
-[-g|-G] file [file...]\n", 1641},
- {"Can't open %s: %s\n", 1642},
- {"Can't set %s to threshold %d: %s\n", 1643},
- {"Can't set %s to time threshold %d: %s\n", 1644},
- {"Can't get threshold for %s: %s\n", 1645},
- {"Can't get timeout for %s: %s\n", 1646},
- {"%s: %ld current threshold and %ld current timeout\n", 1647},
- {"%s: %ld default threshold and %ld default timeout\n", 1648},
- {"Can't set signal handler", 1649},
- {"gettimeofday failed", 1650},
- {"Can't issue CYGETMON on %s: %s\n", 1651},
- {"\
-%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1652},
- {" %f int/sec; %f rec, %f send (char/sec)\n", 1653},
- {"\
-%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1654},
- {" %f int/sec; %f rec (char/sec)\n", 1655},
- {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1656},
- {"invalid id: %s\n", 1657},
- {"cannot remove id %s (%s)\n", 1658},
- {"deprecated usage: %s {shm | msg | sem} id ...\n", 1659},
- {"unknown resource type: %s\n", 1660},
- {"resource(s) deleted\n", 1661},
+[-g|-G] file [file...]\n", 1640},
+ {"Can't open %s: %s\n", 1641},
+ {"Can't set %s to threshold %d: %s\n", 1642},
+ {"Can't set %s to time threshold %d: %s\n", 1643},
+ {"Can't get threshold for %s: %s\n", 1644},
+ {"Can't get timeout for %s: %s\n", 1645},
+ {"%s: %ld current threshold and %ld current timeout\n", 1646},
+ {"%s: %ld default threshold and %ld default timeout\n", 1647},
+ {"Can't set signal handler", 1648},
+ {"gettimeofday failed", 1649},
+ {"Can't issue CYGETMON on %s: %s\n", 1650},
+ {"\
+%s: %lu ints, %lu/%lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1651},
+ {" %f int/sec; %f rec, %f send (char/sec)\n", 1652},
+ {"\
+%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1653},
+ {" %f int/sec; %f rec (char/sec)\n", 1654},
+ {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1655},
+ {"invalid id: %s\n", 1656},
+ {"cannot remove id %s (%s)\n", 1657},
+ {"deprecated usage: %s {shm | msg | sem} id ...\n", 1658},
+ {"unknown resource type: %s\n", 1659},
+ {"resource(s) deleted\n", 1660},
{"\
usage: %s [ [-q msqid] [-m shmid] [-s semid]\n\
- [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n", 1662},
- {"%s: illegal option -- %c\n", 1663},
- {"%s: illegal key (%s)\n", 1664},
- {"permission denied for key", 1665},
- {"already removed key", 1666},
- {"invalid key", 1667},
- {"unknown error in key", 1668},
- {"permission denied for id", 1669},
- {"invalid id", 1670},
- {"already removed id", 1671},
- {"unknown error in id", 1672},
- {"%s: %s (%s)\n", 1673},
- {"%s: unknown argument: %s\n", 1674},
- {"usage : %s -asmq -tclup \n", 1675},
- {"\t%s [-s -m -q] -i id\n", 1676},
- {"\t%s -h for help.\n", 1677},
- {"\
-%s provides information on ipc facilities for which you have read access.\n", 1678},
+ [-Q msgkey] [-M shmkey] [-S semkey] ... ]\n", 1661},
+ {"%s: illegal option -- %c\n", 1662},
+ {"%s: illegal key (%s)\n", 1663},
+ {"permission denied for key", 1664},
+ {"already removed key", 1665},
+ {"invalid key", 1666},
+ {"unknown error in key", 1667},
+ {"permission denied for id", 1668},
+ {"invalid id", 1669},
+ {"already removed id", 1670},
+ {"unknown error in id", 1671},
+ {"%s: %s (%s)\n", 1672},
+ {"%s: unknown argument: %s\n", 1673},
+ {"usage : %s -asmq -tclup \n", 1674},
+ {"\t%s [-s -m -q] -i id\n", 1675},
+ {"\t%s -h for help.\n", 1676},
+ {"\
+%s provides information on ipc facilities for which you have read access.\n", 1677},
{"\
Resource Specification:\n\
\t-m : shared_mem\n\
-\t-q : messages\n", 1679},
+\t-q : messages\n", 1678},
{"\
\t-s : semaphores\n\
-\t-a : all (default)\n", 1680},
+\t-a : all (default)\n", 1679},
{"\
Output Format:\n\
\t-t : time\n\
\t-p : pid\n\
-\t-c : creator\n", 1681},
+\t-c : creator\n", 1680},
{"\
\t-l : limits\n\
-\t-u : summary\n", 1682},
- {"-i id [-s -q -m] : details on resource identified by id\n", 1683},
- {"kernel not configured for shared memory\n", 1684},
- {"------ Shared Memory Limits --------\n", 1685},
- {"max number of segments = %ld\n", 1686},
- {"max seg size (kbytes) = %ld\n", 1687},
- {"max total shared memory (kbytes) = %ld\n", 1688},
- {"min seg size (bytes) = %ld\n", 1689},
- {"------ Shared Memory Status --------\n", 1690},
- {"segments allocated %d\n", 1691},
- {"pages allocated %ld\n", 1692},
- {"pages resident %ld\n", 1693},
- {"pages swapped %ld\n", 1694},
- {"Swap performance: %ld attempts\t %ld successes\n", 1695},
- {"------ Shared Memory Segment Creators/Owners --------\n", 1696},
- {"%-10s %-10s %-10s %-10s %-10s %-10s\n", 1697},
- {"shmid", 1698},
- {"perms", 1699},
- {"cuid", 1700},
- {"cgid", 1701},
- {"uid", 1702},
- {"gid", 1703},
- {"------ Shared Memory Attach/Detach/Change Times --------\n", 1704},
- {"%-10s %-10s %-20s %-20s %-20s\n", 1705},
- {"owner", 1706},
- {"attached", 1707},
- {"detached", 1708},
- {"changed", 1709},
- {"------ Shared Memory Creator/Last-op --------\n", 1710},
- {"%-10s %-10s %-10s %-10s\n", 1711},
- {"cpid", 1712},
- {"lpid", 1713},
- {"------ Shared Memory Segments --------\n", 1714},
- {"%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n", 1715},
- {"key", 1716},
- {"bytes", 1717},
- {"nattch", 1718},
- {"status", 1719},
- {"Not set", 1720},
- {"dest", 1721},
- {"locked", 1722},
- {"kernel not configured for semaphores\n", 1723},
- {"------ Semaphore Limits --------\n", 1724},
- {"max number of arrays = %d\n", 1725},
- {"max semaphores per array = %d\n", 1726},
- {"max semaphores system wide = %d\n", 1727},
- {"max ops per semop call = %d\n", 1728},
- {"semaphore max value = %d\n", 1729},
- {"------ Semaphore Status --------\n", 1730},
- {"used arrays = %d\n", 1731},
- {"allocated semaphores = %d\n", 1732},
- {"------ Semaphore Arrays Creators/Owners --------\n", 1733},
- {"semid", 1734},
- {"------ Shared Memory Operation/Change Times --------\n", 1735},
- {"%-8s %-10s %-26.24s %-26.24s\n", 1736},
- {"last-op", 1737},
- {"last-changed", 1738},
- {"------ Semaphore Arrays --------\n", 1739},
- {"%-10s %-10s %-10s %-10s %-10s\n", 1740},
- {"nsems", 1741},
- {"kernel not configured for message queues\n", 1742},
- {"------ Messages: Limits --------\n", 1743},
- {"max queues system wide = %d\n", 1744},
- {"max size of message (bytes) = %d\n", 1745},
- {"default max size of queue (bytes) = %d\n", 1746},
- {"------ Messages: Status --------\n", 1747},
- {"allocated queues = %d\n", 1748},
- {"used headers = %d\n", 1749},
- {"used space = %d bytes\n", 1750},
- {"------ Message Queues: Creators/Owners --------\n", 1751},
- {"msqid", 1752},
- {"------ Message Queues Send/Recv/Change Times --------\n", 1753},
- {"%-8s %-10s %-20s %-20s %-20s\n", 1754},
- {"send", 1755},
- {"recv", 1756},
- {"change", 1757},
- {"------ Message Queues PIDs --------\n", 1758},
- {"lspid", 1759},
- {"lrpid", 1760},
- {"------ Message Queues --------\n", 1761},
- {"%-10s %-10s %-10s %-10s %-12s %-12s\n", 1762},
- {"used-bytes", 1763},
- {"messages", 1764},
+\t-u : summary\n", 1681},
+ {"-i id [-s -q -m] : details on resource identified by id\n", 1682},
+ {"kernel not configured for shared memory\n", 1683},
+ {"------ Shared Memory Limits --------\n", 1684},
+ {"max number of segments = %ld\n", 1685},
+ {"max seg size (kbytes) = %ld\n", 1686},
+ {"max total shared memory (kbytes) = %ld\n", 1687},
+ {"min seg size (bytes) = %ld\n", 1688},
+ {"------ Shared Memory Status --------\n", 1689},
+ {"segments allocated %d\n", 1690},
+ {"pages allocated %ld\n", 1691},
+ {"pages resident %ld\n", 1692},
+ {"pages swapped %ld\n", 1693},
+ {"Swap performance: %ld attempts\t %ld successes\n", 1694},
+ {"------ Shared Memory Segment Creators/Owners --------\n", 1695},
+ {"%-10s %-10s %-10s %-10s %-10s %-10s\n", 1696},
+ {"shmid", 1697},
+ {"perms", 1698},
+ {"cuid", 1699},
+ {"cgid", 1700},
+ {"uid", 1701},
+ {"gid", 1702},
+ {"------ Shared Memory Attach/Detach/Change Times --------\n", 1703},
+ {"%-10s %-10s %-20s %-20s %-20s\n", 1704},
+ {"owner", 1705},
+ {"attached", 1706},
+ {"detached", 1707},
+ {"changed", 1708},
+ {"------ Shared Memory Creator/Last-op --------\n", 1709},
+ {"%-10s %-10s %-10s %-10s\n", 1710},
+ {"cpid", 1711},
+ {"lpid", 1712},
+ {"------ Shared Memory Segments --------\n", 1713},
+ {"%-10s %-10s %-10s %-10s %-10s %-10s %-12s\n", 1714},
+ {"key", 1715},
+ {"bytes", 1716},
+ {"nattch", 1717},
+ {"status", 1718},
+ {"Not set", 1719},
+ {"dest", 1720},
+ {"locked", 1721},
+ {"kernel not configured for semaphores\n", 1722},
+ {"------ Semaphore Limits --------\n", 1723},
+ {"max number of arrays = %d\n", 1724},
+ {"max semaphores per array = %d\n", 1725},
+ {"max semaphores system wide = %d\n", 1726},
+ {"max ops per semop call = %d\n", 1727},
+ {"semaphore max value = %d\n", 1728},
+ {"------ Semaphore Status --------\n", 1729},
+ {"used arrays = %d\n", 1730},
+ {"allocated semaphores = %d\n", 1731},
+ {"------ Semaphore Arrays Creators/Owners --------\n", 1732},
+ {"semid", 1733},
+ {"------ Shared Memory Operation/Change Times --------\n", 1734},
+ {"%-8s %-10s %-26.24s %-26.24s\n", 1735},
+ {"last-op", 1736},
+ {"last-changed", 1737},
+ {"------ Semaphore Arrays --------\n", 1738},
+ {"%-10s %-10s %-10s %-10s %-10s\n", 1739},
+ {"nsems", 1740},
+ {"kernel not configured for message queues\n", 1741},
+ {"------ Messages: Limits --------\n", 1742},
+ {"max queues system wide = %d\n", 1743},
+ {"max size of message (bytes) = %d\n", 1744},
+ {"default max size of queue (bytes) = %d\n", 1745},
+ {"------ Messages: Status --------\n", 1746},
+ {"allocated queues = %d\n", 1747},
+ {"used headers = %d\n", 1748},
+ {"used space = %d bytes\n", 1749},
+ {"------ Message Queues: Creators/Owners --------\n", 1750},
+ {"msqid", 1751},
+ {"------ Message Queues Send/Recv/Change Times --------\n", 1752},
+ {"%-8s %-10s %-20s %-20s %-20s\n", 1753},
+ {"send", 1754},
+ {"recv", 1755},
+ {"change", 1756},
+ {"------ Message Queues PIDs --------\n", 1757},
+ {"lspid", 1758},
+ {"lrpid", 1759},
+ {"------ Message Queues --------\n", 1760},
+ {"%-10s %-10s %-10s %-10s %-12s %-12s\n", 1761},
+ {"used-bytes", 1762},
+ {"messages", 1763},
{"\
\n\
-Shared memory Segment shmid=%d\n", 1765},
- {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1766},
- {"mode=%#o\taccess_perms=%#o\n", 1767},
- {"bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n", 1768},
- {"att_time=%-26.24s\n", 1769},
- {"det_time=%-26.24s\n", 1770},
- {"change_time=%-26.24s\n", 1771},
+Shared memory Segment shmid=%d\n", 1764},
+ {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1765},
+ {"mode=%#o\taccess_perms=%#o\n", 1766},
+ {"bytes=%ld\tlpid=%d\tcpid=%d\tnattch=%ld\n", 1767},
+ {"att_time=%-26.24s\n", 1768},
+ {"det_time=%-26.24s\n", 1769},
+ {"change_time=%-26.24s\n", 1770},
{"\
\n\
-Message Queue msqid=%d\n", 1772},
- {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1773},
- {"cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n", 1774},
- {"send_time=%-26.24s\n", 1775},
- {"rcv_time=%-26.24s\n", 1776},
+Message Queue msqid=%d\n", 1771},
+ {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1772},
+ {"cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n", 1773},
+ {"send_time=%-26.24s\n", 1774},
+ {"rcv_time=%-26.24s\n", 1775},
{"\
\n\
-Semaphore Array semid=%d\n", 1777},
- {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1778},
- {"mode=%#o, access_perms=%#o\n", 1779},
- {"nsems = %ld\n", 1780},
- {"otime = %-26.24s\n", 1781},
- {"ctime = %-26.24s\n", 1782},
- {"semnum", 1783},
- {"value", 1784},
- {"ncount", 1785},
- {"zcount", 1786},
- {"pid", 1787},
- {"usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1788},
- {"\
- rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device", 1789},
- {" rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2", 1790},
- {" rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)", 1791},
- {" rdev -r /dev/fd0 627 set the RAMDISK size", 1792},
- {" rdev -v /dev/fd0 1 set the bootup VIDEOMODE", 1793},
- {" rdev -o N ... use the byte offset N", 1794},
- {" rootflags ... same as rdev -R", 1795},
- {" ramsize ... same as rdev -r", 1796},
- {" vidmode ... same as rdev -v", 1797},
- {"\
-Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1798},
- {" use -R 1 to mount root readonly, -R 0 for read/write.", 1799},
- {"missing comma", 1800},
- {"out of memory", 1801},
+Semaphore Array semid=%d\n", 1776},
+ {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1777},
+ {"mode=%#o, access_perms=%#o\n", 1778},
+ {"nsems = %ld\n", 1779},
+ {"otime = %-26.24s\n", 1780},
+ {"ctime = %-26.24s\n", 1781},
+ {"semnum", 1782},
+ {"value", 1783},
+ {"ncount", 1784},
+ {"zcount", 1785},
+ {"pid", 1786},
+ {"usage: rdev [ -rv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1787},
+ {"\
+ rdev /dev/fd0 (or rdev /linux, etc.) displays the current ROOT device", 1788},
+ {" rdev /dev/fd0 /dev/hda2 sets ROOT to /dev/hda2", 1789},
+ {" rdev -R /dev/fd0 1 set the ROOTFLAGS (readonly status)", 1790},
+ {" rdev -r /dev/fd0 627 set the RAMDISK size", 1791},
+ {" rdev -v /dev/fd0 1 set the bootup VIDEOMODE", 1792},
+ {" rdev -o N ... use the byte offset N", 1793},
+ {" rootflags ... same as rdev -R", 1794},
+ {" ramsize ... same as rdev -r", 1795},
+ {" vidmode ... same as rdev -v", 1796},
+ {"\
+Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1797},
+ {" use -R 1 to mount root readonly, -R 0 for read/write.", 1798},
+ {"missing comma", 1799},
+ {"out of memory", 1800},
{"\
%s: Usage: \"%s [options]\n\
\t -m <mapfile> (defaults: \"%s\" and\n\
\t -b print individual histogram-bin counts\n\
\t -r reset all the counters (root only)\n\
\t -n disable byte order auto-detection\n\
-\t -V print version and exit\n", 1802},
- {"%s version %s\n", 1803},
- {"Sampling_step: %i\n", 1804},
- {"%s: %s(%i): wrong map line\n", 1805},
- {"%s: can't find \"_stext\" in %s\n", 1806},
- {"%s: profile address out of range. Wrong map file?\n", 1807},
- {"total", 1808},
- {"\
-usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1809},
- {"renice: %s: unknown user\n", 1810},
- {"renice: %s: bad value\n", 1811},
- {"getpriority", 1812},
- {"setpriority", 1813},
- {"%d: old priority %d, new priority %d\n", 1814},
- {"usage: %s program [arg ...]\n", 1815},
+\t -V print version and exit\n", 1801},
+ {"%s version %s\n", 1802},
+ {"Sampling_step: %i\n", 1803},
+ {"%s: %s(%i): wrong map line\n", 1804},
+ {"%s: can't find \"_stext\" in %s\n", 1805},
+ {"%s: profile address out of range. Wrong map file?\n", 1806},
+ {"total", 1807},
+ {"\
+usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1808},
+ {"renice: %s: unknown user\n", 1809},
+ {"renice: %s: bad value\n", 1810},
+ {"getpriority", 1811},
+ {"setpriority", 1812},
+ {"%d: old priority %d, new priority %d\n", 1813},
+ {"usage: %s program [arg ...]\n", 1814},
{"\
Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n\
-a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n\
- -T [on|off] ]\n", 1816},
- {"malloc error", 1817},
- {"%s: bad value\n", 1818},
- {"%s: %s not an lp device.\n", 1819},
- {"%s status is %d", 1820},
- {", busy", 1821},
- {", ready", 1822},
- {", out of paper", 1823},
- {", on-line", 1824},
- {", error", 1825},
- {"LPGETIRQ error", 1826},
- {"%s using IRQ %d\n", 1827},
- {"%s using polling\n", 1828},
- {"col: bad -l argument %s.\n", 1829},
- {"usage: col [-bfpx] [-l nline]\n", 1830},
- {"col: write error.\n", 1831},
- {"col: warning: can't back up %s.\n", 1832},
- {"past first line", 1833},
- {"-- line already flushed", 1834},
- {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1835},
- {"line too long", 1836},
- {"usage: column [-tx] [-c columns] [file ...]\n", 1837},
- {"hexdump: bad length value.\n", 1838},
- {"hexdump: bad skip value.\n", 1839},
- {"\
-hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1840},
- {"usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n", 1841},
+ -T [on|off] ]\n", 1815},
+ {"malloc error", 1816},
+ {"%s: bad value\n", 1817},
+ {"%s: %s not an lp device.\n", 1818},
+ {"%s status is %d", 1819},
+ {", busy", 1820},
+ {", ready", 1821},
+ {", out of paper", 1822},
+ {", on-line", 1823},
+ {", error", 1824},
+ {"LPGETIRQ error", 1825},
+ {"%s using IRQ %d\n", 1826},
+ {"%s using polling\n", 1827},
+ {"col: bad -l argument %s.\n", 1828},
+ {"usage: col [-bfpx] [-l nline]\n", 1829},
+ {"col: write error.\n", 1830},
+ {"col: warning: can't back up %s.\n", 1831},
+ {"past first line", 1832},
+ {"-- line already flushed", 1833},
+ {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1834},
+ {"line too long", 1835},
+ {"usage: column [-tx] [-c columns] [file ...]\n", 1836},
+ {"hexdump: bad length value.\n", 1837},
+ {"hexdump: bad skip value.\n", 1838},
+ {"\
+hexdump: [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1839},
+ {"usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n", 1840},
{"\
\n\
*** %s: directory ***\n\
-\n", 1842},
+\n", 1841},
{"\
\n\
******** %s: Not a text file ********\n\
-\n", 1843},
- {"[Use q or Q to quit]", 1844},
- {"--More--", 1845},
- {"(Next file: %s)", 1846},
- {"[Press space to continue, 'q' to quit.]", 1847},
- {"...back %d pages", 1848},
- {"...back 1 page", 1849},
- {"...skipping one line", 1850},
- {"...skipping %d lines", 1851},
+\n", 1842},
+ {"[Use q or Q to quit]", 1843},
+ {"--More--", 1844},
+ {"(Next file: %s)", 1845},
+ {"[Press space to continue, 'q' to quit.]", 1846},
+ {"...back %d pages", 1847},
+ {"...back 1 page", 1848},
+ {"...skipping one line", 1849},
+ {"...skipping %d lines", 1850},
{"\
\n\
***Back***\n\
-\n", 1852},
+\n", 1851},
{"\
\n\
Most commands optionally preceded by integer argument k. Defaults in \
brackets.\n\
-Star (*) indicates argument becomes new default.\n", 1853},
+Star (*) indicates argument becomes new default.\n", 1852},
{"\
<space> Display next k lines of text [current screen size]\n\
z Display next k lines of text [current screen size]*\n\
:n Go to kth next file [1]\n\
:p Go to kth previous file [1]\n\
:f Display current file name and line number\n\
-. Repeat previous command\n", 1854},
- {"[Press 'h' for instructions.]", 1855},
- {"\"%s\" line %d", 1856},
- {"[Not a file] line %d", 1857},
- {" Overflow\n", 1858},
- {"...skipping\n", 1859},
- {"Regular expression botch", 1860},
+. Repeat previous command\n", 1853},
+ {"[Press 'h' for instructions.]", 1854},
+ {"\"%s\" line %d", 1855},
+ {"[Not a file] line %d", 1856},
+ {" Overflow\n", 1857},
+ {"...skipping\n", 1858},
+ {"Regular expression botch", 1859},
{"\
\n\
-Pattern not found\n", 1861},
- {"Pattern not found", 1862},
- {"can't fork\n", 1863},
+Pattern not found\n", 1860},
+ {"Pattern not found", 1861},
+ {"can't fork\n", 1862},
{"\
\n\
-...Skipping ", 1864},
- {"...Skipping to file ", 1865},
- {"...Skipping back to file ", 1866},
- {"Line too long", 1867},
- {"No previous command to substitute for", 1868},
- {"od: od(1) has been deprecated for hexdump(1).\n", 1869},
- {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1870},
- {"; see strings(1).", 1871},
- {"hexdump: can't read %s.\n", 1872},
- {"hexdump: line too long.\n", 1873},
- {"hexdump: byte count with multiple conversion characters.\n", 1874},
- {"hexdump: bad byte count for conversion character %s.\n", 1875},
- {"hexdump: %%s requires a precision or a byte count.\n", 1876},
- {"hexdump: bad format {%s}\n", 1877},
- {"hexdump: bad conversion character %%%s.\n", 1878},
- {"\
-%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n", 1879},
- {"%s: option requires an argument -- %s\n", 1880},
- {"%s: illegal option -- %s\n", 1881},
- {"...skipping forward\n", 1882},
- {"...skipping backward\n", 1883},
- {"No next file", 1884},
- {"No previous file", 1885},
- {"%s: Read error from %s file\n", 1886},
- {"%s: Unexpected EOF in %s file\n", 1887},
- {"%s: Unknown error in %s file\n", 1888},
- {"%s: Cannot create tempfile\n", 1889},
- {"RE error: ", 1890},
- {"(EOF)", 1891},
- {"No remembered search string", 1892},
- {"Cannot open ", 1893},
- {"saved", 1894},
- {": !command not allowed in rflag mode.\n", 1895},
- {"fork() failed, try again later\n", 1896},
- {"(Next file: ", 1897},
- {"Unable to allocate bufferspace\n", 1898},
- {"usage: rev [file ...]\n", 1899},
- {"usage: %s [ -i ] [ -tTerm ] file...\n", 1900},
- {"trouble reading terminfo", 1901},
- {"Unknown escape sequence in input: %o, %o\n", 1902},
- {"Unable to allocate buffer.\n", 1903},
- {"Input line too long.\n", 1904},
- {"Out of memory when growing buffer.\n", 1905},
+...Skipping ", 1863},
+ {"...Skipping to file ", 1864},
+ {"...Skipping back to file ", 1865},
+ {"Line too long", 1866},
+ {"No previous command to substitute for", 1867},
+ {"od: od(1) has been deprecated for hexdump(1).\n", 1868},
+ {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1869},
+ {"; see strings(1).", 1870},
+ {"hexdump: can't read %s.\n", 1871},
+ {"hexdump: line too long.\n", 1872},
+ {"hexdump: byte count with multiple conversion characters.\n", 1873},
+ {"hexdump: bad byte count for conversion character %s.\n", 1874},
+ {"hexdump: %%s requires a precision or a byte count.\n", 1875},
+ {"hexdump: bad format {%s}\n", 1876},
+ {"hexdump: bad conversion character %%%s.\n", 1877},
+ {"\
+%s: Usage: %s [-number] [-p string] [-cefnrs] [+line] [+/pattern/] [files]\n", 1878},
+ {"%s: option requires an argument -- %s\n", 1879},
+ {"%s: illegal option -- %s\n", 1880},
+ {"...skipping forward\n", 1881},
+ {"...skipping backward\n", 1882},
+ {"No next file", 1883},
+ {"No previous file", 1884},
+ {"%s: Read error from %s file\n", 1885},
+ {"%s: Unexpected EOF in %s file\n", 1886},
+ {"%s: Unknown error in %s file\n", 1887},
+ {"%s: Cannot create tempfile\n", 1888},
+ {"RE error: ", 1889},
+ {"(EOF)", 1890},
+ {"No remembered search string", 1891},
+ {"Cannot open ", 1892},
+ {"saved", 1893},
+ {": !command not allowed in rflag mode.\n", 1894},
+ {"fork() failed, try again later\n", 1895},
+ {"(Next file: ", 1896},
+ {"Unable to allocate bufferspace\n", 1897},
+ {"usage: rev [file ...]\n", 1898},
+ {"usage: %s [ -i ] [ -tTerm ] file...\n", 1899},
+ {"trouble reading terminfo", 1900},
+ {"Unknown escape sequence in input: %o, %o\n", 1901},
+ {"Unable to allocate buffer.\n", 1902},
+ {"Input line too long.\n", 1903},
+ {"Out of memory when growing buffer.\n", 1904},
};
-int _msg_tbl_length = 1905;
+int _msg_tbl_length = 1904;