]> git.lizzy.rs Git - plan9front.git/blob - sys/man/9/readnum
ndb/dns: allow multiple txt, nullrr, cert, key and sig records (thanks kvik)
[plan9front.git] / sys / man / 9 / readnum
1 .TH READNUM 9
2 .SH NAME
3 readnum, readstr \- device read routines
4 .SH SYNOPSIS
5 .ta \w'\fLint 'u
6 .B
7 int readstr(ulong off, char *buf, ulong n, char *str)
8 .PP
9 .B
10 int readnum(ulong off, char *buf, ulong n, ulong val, int size)
11 .SH DESCRIPTION
12 .I Readstr
13 and
14 .I readnum
15 simplify the return of strings and numbers from device
16 .I read
17 routines,
18 because they deal with any buffering and boundary cases.
19 Several parameters to the read call are often handed on directly
20 to these functions:
21 the file offset, as
22 .IR off ;
23 the address of the user's buffer, as
24 .IR buf ;
25 and the number of bytes requested, as
26 .IR n .
27 Both functions return the number of bytes they have stored in
28 .IR buf ,
29 and which can often be returned directly from the device read routine.
30 .PP
31 .I Readstr
32 satisfies a read by copying data into
33 .I buf
34 from the NUL-terminated string in
35 .IR str .
36 The data transferred is selected and limited by
37 .IR off ,
38 .I n
39 and the length of
40 .IR str .
41 .PP
42 .I Readnum
43 converts the unsigned integer
44 .I val
45 to a decimal representation in
46 .IR buf .
47 The value is right-justified in a field of
48 .IR size "-1"
49 places and is followed by a blank.
50 .I Size
51 can be the global constant
52 .L NUMSIZE
53 for 32-bit integers;
54 the largest
55 .I size
56 allowed is 64 bytes. 
57 .SH SOURCE
58 .B /sys/src/9/port/devcons.c