| .\" |
| .\" $Id: bytes_by_prefix.3,v 1.1 2000/07/27 16:59:03 alaffin Exp $ |
| .\" |
| .\" Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. |
| .\" |
| .\" This program is free software; you can redistribute it and/or modify it |
| .\" under the terms of version 2 of the GNU General Public License as |
| .\" published by the Free Software Foundation. |
| .\" |
| .\" This program is distributed in the hope that it would be useful, but |
| .\" WITHOUT ANY WARRANTY; without even the implied warranty of |
| .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| .\" |
| .\" Further, this software is distributed without any warranty that it is |
| .\" free of the rightful claim of any third person regarding infringement |
| .\" or the like. Any license provided herein, whether implied or |
| .\" otherwise, applies only to this software file. Patent licenses, if |
| .\" any, provided herein do not apply to combinations of this program with |
| .\" other software, or any other product whatsoever. |
| .\" |
| .\" You should have received a copy of the GNU General Public License along |
| .\" with this program; if not, write the Free Software Foundation, Inc., |
| .\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| .\" |
| .\" Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, |
| .\" Mountain View, CA 94043, or: |
| .\" |
| .\" http://www.sgi.com |
| .\" |
| .\" For further information regarding this notice, see: |
| .\" |
| .\" http://oss.sgi.com/projects/GenInfo/NoticeExplan/ |
| .\" |
| .TH BYTES_BY_PREFIX 3 07/25/2000 "Linux Test Project" |
| .SH NAME |
| bytes_by_prefix \- convert a string to a int byte count |
| lbytes_by_prefix \- convert a string to a long byte count |
| llbytes_by_prefix \- convert a string to a long long byte count |
| .SH SYNOPSIS |
| int bytes_by_prefix(char *\fIstr\fR); |
| .br |
| long lbytes_by_prefix(char *\fIstr\fR); |
| .br |
| long long llbytes_by_prefix(char *\fIstr\fR); |
| .SH DESCRIPTION |
| \fBbytes_by_prefix()\fR, \fBlbytes_by_prefix()\fR, and \fBllbytes_by_prefix()\fR converts |
| \fIstr\fR to an integer, long, or long long byte count. \fIstr\fR is an |
| floating point number optionally followed by a single character multiplier. |
| Currently the following multipliers are supported: |
| .sp |
| .nf |
| Char Meaning Multiplier |
| ---- --------- -------------------------------- |
| b Blocks BSIZE or UBSIZE |
| k Kilobytes 2^10 (1024) |
| K Kilowords 2^10 (1024) * sizeof(long) |
| m Megabytes 2^20 (1048576) |
| M Megawords 2^20 (1048576) * sizeof(long) |
| g Gigabytes 2^30 (1073741824) |
| G Gigawords 2^30 (1073741824) * sizeof(long) |
| .fi |
| .sp |
| \fIstr\fR is interpreted as floating point number (base 10). |
| When using \fBllbytes_by_prefix()\fR, the uppercase suffix will result |
| in multiplying by the size of a (long long) or 8. |
| .SH RETURNS |
| -1 if the integer portion of \fIstr\fR is invalid, if an unsupported |
| multiplier is supplied, or if \fIstr\fR has extra leading or trailing |
| characters. If \fIstr\fR contains a negative number, the return |
| value will be negative. |
| .SH EXAMPLES |
| \fBbytes_by_prefix("1000")\fR |
| .br |
| .RS 8 |
| Returns 1000 |
| .RE |
| .br |
| \fBbytes_by_prefix("5b")\fR |
| .br |
| .RS 8 |
| Returns 5 * BSIZE. |
| .RE |
| \fBbytes_by_prefix("1.5m")\fR |
| .br |
| .RS 8 |
| Returns 1.5 * 1048576 or 1572864 |
| .RE |
| |
| .SH LIMITATIONS |
| |
| \fBbytes_by_prefix()\fR and \fBlbytes_by_prefix()\fR when compiled as |
| a 32 bit IRIX binary can only return a max number of 2g (2147483647). |
| However, \fBlbytes_by_prefix()\fR is not limited by the 2g limit when |
| compiled as 64 bit binary, where \fBbytes_by_prefix()\fR still is limited. |
| |
| Note that the size of long will vary depending how if compiled as |
| a 32 or 64 bit binary. The size of a long long is always 8. |
| |
| Also note that on a traditional CRAY system, a block is 4096 bytes, where |
| on most IRIX systems a block is 1024 bytes. |
| |