mirror of https://github.com/mkerrisk/man-pages
Various pages: Inside code blocks (.EX/.EE) use \- to get real minus signs
A real minus can be cut and pasted... THere are a few exceptions that gave been excluded in the this change. For example, where there' is a string such as "<p1-name>", where p1-name is soome sort of pseudo-identifier. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
d5de9d1dc5
commit
d064d41a4b
|
@ -31,13 +31,13 @@ is the following:
|
|||
.in +4n
|
||||
.EX
|
||||
$ \fBldd /bin/ls | sed \(aqs/^ */ /\(aq\fP
|
||||
linux-vdso.so.1 (0x00007ffcc3563000)
|
||||
linux\-vdso.so.1 (0x00007ffcc3563000)
|
||||
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
|
||||
libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
|
||||
libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
|
||||
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
|
||||
libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
|
||||
/lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
|
||||
/lib64/ld\-linux\-x86\-64.so.2 (0x00005574bf12e000)
|
||||
libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
|
||||
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)
|
||||
.EE
|
||||
|
|
|
@ -196,10 +196,10 @@ subsequent user sessions:
|
|||
.PP
|
||||
.EX
|
||||
$ \fBmkdir \-p $HOME/.locale\fP
|
||||
$ \fBI18NPATH=./wrk/ localedef \-f UTF-8 \-i fi_SE $HOME/.locale/fi_SE.UTF-8\fP
|
||||
$ \fBLOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF-8 date\fP
|
||||
$ \fBI18NPATH=./wrk/ localedef \-f UTF\-8 \-i fi_SE $HOME/.locale/fi_SE.UTF\-8\fP
|
||||
$ \fBLOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF\-8 date\fP
|
||||
$ \fBecho "export LOCPATH=\e$HOME/.locale" >> $HOME/.bashrc\fP
|
||||
$ \fBecho "export LANG=fi_SE.UTF-8" >> $HOME/.bashrc\fP
|
||||
$ \fBecho "export LANG=fi_SE.UTF\-8" >> $HOME/.bashrc\fP
|
||||
.EE
|
||||
.SH SEE ALSO
|
||||
.BR localedef (1),
|
||||
|
|
|
@ -260,7 +260,7 @@ main(int argc, char *argv[])
|
|||
if (i < CYCLES / 2)
|
||||
j = i;
|
||||
else
|
||||
j--;
|
||||
j\-\-;
|
||||
|
||||
size = sizeof(*p) * (j * 50 + 110);
|
||||
printf("realloc: %zu\en", size);
|
||||
|
|
|
@ -233,7 +233,7 @@ The following shell session demonstrates the use of the program:
|
|||
$ \fB./a.out user mykey "Some payload"\fP
|
||||
Key ID is 64a4dca
|
||||
$ \fBgrep \(aq64a4dca\(aq /proc/keys\fP
|
||||
064a4dca I--Q--- 1 perm 3f010000 1000 1000 user mykey: 12
|
||||
064a4dca I\-\-Q\-\-\- 1 perm 3f010000 1000 1000 user mykey: 12
|
||||
.EE
|
||||
.in
|
||||
.SS Program source
|
||||
|
|
|
@ -61,36 +61,36 @@ struct timex {
|
|||
long maxerror; /* Maximum error (microseconds) */
|
||||
long esterror; /* Estimated error (microseconds) */
|
||||
int status; /* Clock command/status */
|
||||
long constant; /* PLL (phase-locked loop) time constant */
|
||||
long constant; /* PLL (phase\-locked loop) time constant */
|
||||
long precision; /* Clock precision
|
||||
(microseconds, read-only) */
|
||||
long tolerance; /* Clock frequency tolerance (read-only);
|
||||
(microseconds, read\-only) */
|
||||
long tolerance; /* Clock frequency tolerance (read\-only);
|
||||
see NOTES for units */
|
||||
struct timeval time;
|
||||
/* Current time (read-only, except for
|
||||
/* Current time (read\-only, except for
|
||||
ADJ_SETOFFSET); upon return, time.tv_usec
|
||||
contains nanoseconds, if STA_NANO status
|
||||
flag is set, otherwise microseconds */
|
||||
long tick; /* Microseconds between clock ticks */
|
||||
long ppsfreq; /* PPS (pulse per second) frequency
|
||||
(read-only); see NOTES for units */
|
||||
long jitter; /* PPS jitter (read-only); nanoseconds, if
|
||||
(read\-only); see NOTES for units */
|
||||
long jitter; /* PPS jitter (read\-only); nanoseconds, if
|
||||
STA_NANO status flag is set, otherwise
|
||||
microseconds */
|
||||
int shift; /* PPS interval duration
|
||||
(seconds, read-only) */
|
||||
long stabil; /* PPS stability (read-only);
|
||||
(seconds, read\-only) */
|
||||
long stabil; /* PPS stability (read\-only);
|
||||
see NOTES for units */
|
||||
long jitcnt; /* PPS count of jitter limit exceeded
|
||||
events (read-only) */
|
||||
events (read\-only) */
|
||||
long calcnt; /* PPS count of calibration intervals
|
||||
(read-only) */
|
||||
(read\-only) */
|
||||
long errcnt; /* PPS count of calibration errors
|
||||
(read-only) */
|
||||
(read\-only) */
|
||||
long stbcnt; /* PPS count of stability limit exceeded
|
||||
events (read-only) */
|
||||
events (read\-only) */
|
||||
int tai; /* TAI offset, as set by previous ADJ_TAI
|
||||
operation (seconds, read-only,
|
||||
operation (seconds, read\-only,
|
||||
since Linux 2.6.26) */
|
||||
/* Further padding bytes to allow for future expansion */
|
||||
};
|
||||
|
@ -177,7 +177,7 @@ with nanosecond resolution.
|
|||
.in +4n
|
||||
.EX
|
||||
while (buf.time.tv_usec < 0) {
|
||||
buf.time.tv_sec -= 1;
|
||||
buf.time.tv_sec \-= 1;
|
||||
buf.time.tv_usec += 1000000000;
|
||||
}
|
||||
.EE
|
||||
|
|
18
man2/bpf.2
18
man2/bpf.2
|
@ -123,11 +123,11 @@ tracing tracing tracing packet packet packet
|
|||
event A event B event C on eth0 on eth1 on eth2
|
||||
| | | | | \(ha
|
||||
| | | | v |
|
||||
--> tracing <-- tracing socket tc ingress tc egress
|
||||
\-\-> tracing <\-\- tracing socket tc ingress tc egress
|
||||
prog_1 prog_2 prog_3 classifier action
|
||||
| | | | prog_4 prog_5
|
||||
|--- -----| |------| map_3 | |
|
||||
map_1 map_2 --| map_4 |--
|
||||
|\-\-\- \-\-\-\-\-| |\-\-\-\-\-\-| map_3 | |
|
||||
map_1 map_2 \-\-| map_4 |\-\-
|
||||
.EE
|
||||
.in
|
||||
.\"
|
||||
|
@ -307,7 +307,7 @@ of 8 and the eBPF program calls
|
|||
.IP
|
||||
.in +4n
|
||||
.EX
|
||||
bpf_map_lookup_elem(map_fd, fp - 4)
|
||||
bpf_map_lookup_elem(map_fd, fp \- 4)
|
||||
.EE
|
||||
.in
|
||||
.IP
|
||||
|
@ -1206,7 +1206,7 @@ riscv (since Linux 5.1).
|
|||
/* bpf+sockets example:
|
||||
* 1. create array map of 256 elements
|
||||
* 2. load program that counts number of packets received
|
||||
* r0 = skb->data[ETH_HLEN + offsetof(struct iphdr, protocol)]
|
||||
* r0 = skb\->data[ETH_HLEN + offsetof(struct iphdr, protocol)]
|
||||
* map[r0]++
|
||||
* 3. attach prog_fd to raw socket via setsockopt()
|
||||
* 4. print number of received TCP/UDP packets every second
|
||||
|
@ -1228,11 +1228,11 @@ main(int argc, char **argv)
|
|||
struct bpf_insn prog[] = {
|
||||
BPF_MOV64_REG(BPF_REG_6, BPF_REG_1), /* r6 = r1 */
|
||||
BPF_LD_ABS(BPF_B, ETH_HLEN + offsetof(struct iphdr, protocol)),
|
||||
/* r0 = ip->proto */
|
||||
BPF_STX_MEM(BPF_W, BPF_REG_10, BPF_REG_0, -4),
|
||||
/* *(u32 *)(fp - 4) = r0 */
|
||||
/* r0 = ip\->proto */
|
||||
BPF_STX_MEM(BPF_W, BPF_REG_10, BPF_REG_0, \-4),
|
||||
/* *(u32 *)(fp \- 4) = r0 */
|
||||
BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), /* r2 = fp */
|
||||
BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -4), /* r2 = r2 - 4 */
|
||||
BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, \-4), /* r2 = r2 \- 4 */
|
||||
BPF_LD_MAP_FD(BPF_REG_1, map_fd), /* r1 = map_fd */
|
||||
BPF_CALL_FUNC(BPF_FUNC_map_lookup_elem),
|
||||
/* r0 = map_lookup(r1, r2) */
|
||||
|
|
|
@ -500,7 +500,7 @@ events for both the ELF binary and interpreter, respectively:
|
|||
.in +4n
|
||||
.EX
|
||||
/bin/echo
|
||||
/lib64/ld-linux-x86-64.so.2
|
||||
/lib64/ld\-linux\-x86\-64.so.2
|
||||
.EE
|
||||
.in
|
||||
.SH BUGS
|
||||
|
|
|
@ -76,7 +76,7 @@ struct linux_dirent {
|
|||
unsigned long d_ino; /* Inode number */
|
||||
unsigned long d_off; /* Offset to next \fIlinux_dirent\fP */
|
||||
unsigned short d_reclen; /* Length of this \fIlinux_dirent\fP */
|
||||
char d_name[]; /* Filename (null-terminated) */
|
||||
char d_name[]; /* Filename (null\-terminated) */
|
||||
/* length is actually (d_reclen \- 2 \-
|
||||
offsetof(struct linux_dirent, d_name)) */
|
||||
/*
|
||||
|
@ -173,11 +173,11 @@ structures of the following type:
|
|||
.in +4n
|
||||
.EX
|
||||
struct linux_dirent64 {
|
||||
ino64_t d_ino; /* 64-bit inode number */
|
||||
off64_t d_off; /* 64-bit offset to next structure */
|
||||
ino64_t d_ino; /* 64\-bit inode number */
|
||||
off64_t d_off; /* 64\-bit offset to next structure */
|
||||
unsigned short d_reclen; /* Size of this dirent */
|
||||
unsigned char d_type; /* File type */
|
||||
char d_name[]; /* Filename (null-terminated) */
|
||||
char d_name[]; /* Filename (null\-terminated) */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
@ -242,7 +242,7 @@ program on an ext2 directory:
|
|||
.in +4n
|
||||
.EX
|
||||
.RB "$" " ./a.out /testfs/"
|
||||
--------------- nread=120 ---------------
|
||||
-\-\-\-\-\-\-\-\-\-\-\-\-\-\- nread=120 \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
inode# file type d_reclen d_off d_name
|
||||
2 directory 16 12 .
|
||||
2 directory 16 24 ..
|
||||
|
|
|
@ -308,7 +308,7 @@ The actual ceiling for the nice value is calculated as
|
|||
.IR "20\ \-\ rlim_cur" .
|
||||
The useful range for this limit is thus from 1
|
||||
(corresponding to a nice value of 19) to 40
|
||||
(corresponding to a nice value of -20).
|
||||
(corresponding to a nice value of \-20).
|
||||
This unusual choice of range was necessary
|
||||
because negative numbers cannot be specified
|
||||
as resource limit values, since they typically have special meanings.
|
||||
|
|
|
@ -68,9 +68,9 @@ The unwind table contains entries of the following form:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
u64 start; (64-bit address of start of function)
|
||||
u64 end; (64-bit address of end of function)
|
||||
u64 info; (BUF-relative offset to unwind info)
|
||||
u64 start; (64\-bit address of start of function)
|
||||
u64 end; (64\-bit address of end of function)
|
||||
u64 info; (BUF\-relative offset to unwind info)
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -111,7 +111,7 @@ Typically the volume ID is displayed to the user as a group of two
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
printf("Volume ID %04x-%04x\en", id >> 16, id & 0xFFFF);
|
||||
printf("Volume ID %04x\-%04x\en", id >> 16, id & 0xFFFF);
|
||||
.EE
|
||||
.in
|
||||
.SS Reading short filenames of a directory
|
||||
|
@ -359,7 +359,7 @@ directory
|
|||
.in +4n
|
||||
.EX
|
||||
$ ./display_fat_volume_id /mnt/user
|
||||
Volume ID 6443-6241
|
||||
Volume ID 6443\-6241
|
||||
.EE
|
||||
.in
|
||||
.SS Program source (display_fat_volume_id.c)
|
||||
|
@ -422,11 +422,11 @@ The following was recorded when applying the program to the directory
|
|||
.in +4n
|
||||
.EX
|
||||
$ \fB./fat_dir /mnt/user\fP
|
||||
\[char46] -> \(aq\(aq
|
||||
\[char46]. -> \(aq\(aq
|
||||
ALONGF\(ti1.TXT -> \(aqa long filename.txt\(aq
|
||||
UPPER.TXT -> \(aq\(aq
|
||||
LOWER.TXT -> \(aqlower.txt\(aq
|
||||
\[char46] \-> \(aq\(aq
|
||||
\[char46]. \-> \(aq\(aq
|
||||
ALONGF\(ti1.TXT \-> \(aqa long filename.txt\(aq
|
||||
UPPER.TXT \-> \(aq\(aq
|
||||
LOWER.TXT \-> \(aqlower.txt\(aq
|
||||
.EE
|
||||
.in
|
||||
.\"
|
||||
|
|
|
@ -1496,7 +1496,7 @@ parameters of the KDF operation to be applied:
|
|||
.EX
|
||||
struct keyctl_kdf_params {
|
||||
char *hashname; /* Hash algorithm name */
|
||||
char *otherinfo; /* SP800-56A OtherInfo */
|
||||
char *otherinfo; /* SP800\-56A OtherInfo */
|
||||
__u32 otherinfolen; /* Length of otherinfo data */
|
||||
__u32 __spare[8]; /* Reserved */
|
||||
};
|
||||
|
@ -2016,7 +2016,7 @@ $ \fBcat /tmp/key_instantiate.log\fP
|
|||
Time: Mon Nov 7 13:06:47 2016
|
||||
|
||||
Command line arguments:
|
||||
argv[0]: /sbin/request-key
|
||||
argv[0]: /sbin/request\-key
|
||||
operation: create
|
||||
key_to_instantiate: 20d035bf
|
||||
UID: 1000
|
||||
|
|
|
@ -322,7 +322,7 @@ handler(int sig, siginfo_t *si, void *unused)
|
|||
{
|
||||
/* Note: calling printf() from a signal handler is not safe
|
||||
(and should not be done in production programs), since
|
||||
printf() is not async\-signal\-safe; see signal-safety(7).
|
||||
printf() is not async\-signal\-safe; see signal\-safety(7).
|
||||
Nevertheless, we use printf() here as a simple way of
|
||||
showing that the handler was called. */
|
||||
|
||||
|
|
|
@ -208,7 +208,7 @@ for the event being created.
|
|||
struct perf_event_attr {
|
||||
__u32 type; /* Type of event */
|
||||
__u32 size; /* Size of attribute structure */
|
||||
__u64 config; /* Type-specific configuration */
|
||||
__u64 config; /* Type\-specific configuration */
|
||||
|
||||
union {
|
||||
__u64 sample_period; /* Period of sampling */
|
||||
|
@ -234,7 +234,7 @@ struct perf_event_attr {
|
|||
task : 1, /* trace fork/exit */
|
||||
watermark : 1, /* wakeup_watermark */
|
||||
precise_ip : 2, /* skid constraint */
|
||||
mmap_data : 1, /* non-exec mmap data */
|
||||
mmap_data : 1, /* non\-exec mmap data */
|
||||
sample_id_all : 1, /* sample_type all events */
|
||||
exclude_host : 1, /* don\(aqt count in host */
|
||||
exclude_guest : 1, /* don\(aqt count in guest */
|
||||
|
@ -1606,7 +1606,7 @@ struct perf_event_mmap_page {
|
|||
__u64 time_offset;
|
||||
__u64 __reserved[120]; /* Pad to 1 k */
|
||||
__u64 data_head; /* head in the data section */
|
||||
__u64 data_tail; /* user-space written tail */
|
||||
__u64 data_tail; /* user\-space written tail */
|
||||
__u64 data_offset; /* where the buffer starts */
|
||||
__u64 data_size; /* data buffer size */
|
||||
__u64 aux_head;
|
||||
|
@ -1807,7 +1807,7 @@ values:
|
|||
.IP
|
||||
.in +4n
|
||||
.EX
|
||||
time = timestamp - time_zero;
|
||||
time = timestamp \- time_zero;
|
||||
quot = time / time_mult;
|
||||
rem = time % time_mult;
|
||||
cyc = (quot << time_shift) + (rem << time_shift) / time_mult;
|
||||
|
@ -1819,7 +1819,7 @@ And vice versa:
|
|||
.in +4n
|
||||
.EX
|
||||
quot = cyc >> time_shift;
|
||||
rem = cyc & (((u64)1 << time_shift) - 1);
|
||||
rem = cyc & (((u64)1 << time_shift) \- 1);
|
||||
timestamp = time_zero + quot * time_mult +
|
||||
((rem * time_mult) >> time_shift);
|
||||
.EE
|
||||
|
|
|
@ -2845,7 +2845,7 @@ a quiescent process with the command
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
strace \-p <process-ID>
|
||||
strace \-p <process\-ID>
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -488,7 +488,7 @@ struct fs_disk_quota {
|
|||
respect to # of inodes */
|
||||
uint16_t d_bwarns; /* # warnings issued with
|
||||
respect to disk blocks */
|
||||
int32_t d_padding2; /* Padding - for future use */
|
||||
int32_t d_padding2; /* Padding \- for future use */
|
||||
uint64_t d_rtb_hardlimit; /* Absolute limit on realtime
|
||||
(RT) disk blocks */
|
||||
uint64_t d_rtb_softlimit; /* Preferred limit on RT
|
||||
|
@ -498,7 +498,7 @@ struct fs_disk_quota {
|
|||
disk blocks */
|
||||
uint16_t d_rtbwarns; /* # warnings issued with
|
||||
respect to RT disk blocks */
|
||||
int16_t d_padding3; /* Padding - for future use */
|
||||
int16_t d_padding3; /* Padding \- for future use */
|
||||
char d_padding4[8]; /* Yet more padding */
|
||||
};
|
||||
.EE
|
||||
|
@ -560,7 +560,7 @@ structure itself is defined as follows:
|
|||
struct fs_qfilestat {
|
||||
uint64_t qfs_ino; /* Inode number */
|
||||
uint64_t qfs_nblks; /* Number of BBs
|
||||
512-byte-blocks */
|
||||
512\-byte\-blocks */
|
||||
uint32_t qfs_nextents; /* Number of extents */
|
||||
};
|
||||
|
||||
|
@ -609,15 +609,15 @@ structure itself is defined as follows:
|
|||
struct fs_qfilestatv {
|
||||
uint64_t qfs_ino; /* Inode number */
|
||||
uint64_t qfs_nblks; /* Number of BBs
|
||||
512-byte-blocks */
|
||||
512\-byte\-blocks */
|
||||
uint32_t qfs_nextents; /* Number of extents */
|
||||
uint32_t qfs_pad; /* Pad for 8-byte alignment */
|
||||
uint32_t qfs_pad; /* Pad for 8\-byte alignment */
|
||||
};
|
||||
|
||||
struct fs_quota_statv {
|
||||
int8_t qs_version; /* Version for future
|
||||
changes */
|
||||
uint8_t qs_pad1; /* Pad for 16-bit alignment */
|
||||
uint8_t qs_pad1; /* Pad for 16\-bit alignment */
|
||||
uint16_t qs_flags; /* XFS_QUOTA_.* flags */
|
||||
uint32_t qs_incoredqs; /* Number of dquots incore */
|
||||
struct fs_qfilestatv qs_uquota; /* User quota
|
||||
|
|
|
@ -74,7 +74,7 @@ struct old_linux_dirent {
|
|||
unsigned long d_ino; /* inode number */
|
||||
unsigned long d_offset; /* offset to this \fIold_linux_dirent\fP */
|
||||
unsigned short d_namlen; /* length of this \fId_name\fP */
|
||||
char d_name[1]; /* filename (null-terminated) */
|
||||
char d_name[1]; /* filename (null\-terminated) */
|
||||
}
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -382,7 +382,7 @@ struct cmsghdr {
|
|||
size_t cmsg_len; /* Data byte count, including header
|
||||
(type is socklen_t in POSIX) */
|
||||
int cmsg_level; /* Originating protocol */
|
||||
int cmsg_type; /* Protocol-specific type */
|
||||
int cmsg_type; /* Protocol\-specific type */
|
||||
/* followed by
|
||||
unsigned char cmsg_data[]; */
|
||||
};
|
||||
|
|
|
@ -1068,11 +1068,11 @@ install_filter(int syscall_nr, int t_arch, int f_errno)
|
|||
{
|
||||
unsigned int upper_nr_limit = 0xffffffff;
|
||||
|
||||
/* Assume that AUDIT_ARCH_X86_64 means the normal x86-64 ABI
|
||||
/* Assume that AUDIT_ARCH_X86_64 means the normal x86\-64 ABI
|
||||
(in the x32 ABI, all system calls have bit 30 set in the
|
||||
\(aqnr\(aq field, meaning the numbers are >= X32_SYSCALL_BIT). */
|
||||
if (t_arch == AUDIT_ARCH_X86_64)
|
||||
upper_nr_limit = X32_SYSCALL_BIT - 1;
|
||||
upper_nr_limit = X32_SYSCALL_BIT \- 1;
|
||||
|
||||
struct sock_filter filter[] = {
|
||||
/* [0] Load architecture from \(aqseccomp_data\(aq buffer into
|
||||
|
@ -1089,7 +1089,7 @@ install_filter(int syscall_nr, int t_arch, int f_errno)
|
|||
BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
|
||||
(offsetof(struct seccomp_data, nr))),
|
||||
|
||||
/* [3] Check ABI - only needed for x86-64 in deny-list use
|
||||
/* [3] Check ABI \- only needed for x86\-64 in deny\-list use
|
||||
cases. Use BPF_JGT instead of checking against the bit
|
||||
mask to avoid having to reload the syscall number. */
|
||||
BPF_JUMP(BPF_JMP | BPF_JGT | BPF_K, upper_nr_limit, 3, 0),
|
||||
|
|
|
@ -74,7 +74,7 @@ union semun {
|
|||
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
|
||||
unsigned short *array; /* Array for GETALL, SETALL */
|
||||
struct seminfo *__buf; /* Buffer for IPC_INFO
|
||||
(Linux-specific) */
|
||||
(Linux\-specific) */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
@ -222,7 +222,7 @@ The argument
|
|||
.I semnum
|
||||
is ignored.
|
||||
.TP
|
||||
.BR IPC_INFO " (Linux-specific)"
|
||||
.BR IPC_INFO " (Linux\-specific)"
|
||||
Return information about system-wide semaphore limits and
|
||||
parameters in the structure pointed to by
|
||||
.IR arg.__buf .
|
||||
|
@ -242,7 +242,7 @@ struct seminfo {
|
|||
int semmni; /* Maximum number of semaphore sets */
|
||||
int semmns; /* Maximum number of semaphores in all
|
||||
semaphore sets */
|
||||
int semmnu; /* System-wide maximum number of undo
|
||||
int semmnu; /* System\-wide maximum number of undo
|
||||
structures; unused within kernel */
|
||||
int semmsl; /* Maximum number of semaphores in a
|
||||
set */
|
||||
|
|
|
@ -257,7 +257,7 @@ struct shminfo {
|
|||
that a process can attach;
|
||||
unused within kernel */
|
||||
unsigned long shmall; /* Maximum number of pages of
|
||||
shared memory, system-wide */
|
||||
shared memory, system\-wide */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -319,7 +319,7 @@ siginfo_t {
|
|||
int si_errno; /* An errno value */
|
||||
int si_code; /* Signal code */
|
||||
int si_trapno; /* Trap number that caused
|
||||
hardware-generated signal
|
||||
hardware\-generated signal
|
||||
(unused on most architectures) */
|
||||
.\" FIXME
|
||||
.\" The siginfo_t 'si_trapno' field seems to be used
|
||||
|
|
|
@ -194,7 +194,7 @@ struct signalfd_siginfo {
|
|||
uint64_t ssi_stime; /* System CPU time consumed
|
||||
(SIGCHLD) */
|
||||
uint64_t ssi_addr; /* Address that generated signal
|
||||
(for hardware-generated signals) */
|
||||
(for hardware\-generated signals) */
|
||||
uint16_t ssi_addr_lsb; /* Least significant bit of address
|
||||
(SIGBUS; since Linux 2.6.37)
|
||||
.\" ssi_addr_lsb: commit b8aeec34175fc8fe8b0d40efea4846dfc1ba663e
|
||||
|
|
|
@ -407,7 +407,7 @@ handler(int sig, siginfo_t *si, void *uc)
|
|||
{
|
||||
/* Note: calling printf() from a signal handler is not safe
|
||||
(and should not be done in production programs), since
|
||||
printf() is not async\-signal\-safe; see signal-safety(7).
|
||||
printf() is not async\-signal\-safe; see signal\-safety(7).
|
||||
Nevertheless, we use printf() here as a simple way of
|
||||
showing that the handler was called. */
|
||||
|
||||
|
|
|
@ -569,14 +569,14 @@ The following shell session demonstrates the use of the program:
|
|||
0.000: timer started
|
||||
3.000: read: 1; total=1
|
||||
4.000: read: 1; total=2
|
||||
.BR "\(haZ " " # type control-Z to suspend the program"
|
||||
.BR "\(haZ " " # type control\-Z to suspend the program"
|
||||
[1]+ Stopped ./timerfd3_demo 3 1 100
|
||||
.RB "$ " "fg" " # Resume execution after a few seconds"
|
||||
a.out 3 1 100
|
||||
9.660: read: 5; total=7
|
||||
10.000: read: 1; total=8
|
||||
11.000: read: 1; total=9
|
||||
.BR "\(haC " " # type control-C to suspend the program"
|
||||
.BR "\(haC " " # type control\-C to suspend the program"
|
||||
.EE
|
||||
.in
|
||||
.SS Program source
|
||||
|
@ -586,7 +586,7 @@ a.out 3 1 100
|
|||
.\" the required stuff is in glibc
|
||||
.\"
|
||||
.\"
|
||||
.\"/* Link with -lrt */
|
||||
.\"/* Link with \-lrt */
|
||||
.\"#define _GNU_SOURCE
|
||||
.\"#include <sys/syscall.h>
|
||||
.\"#include <unistd.h>
|
||||
|
|
|
@ -46,7 +46,7 @@ struct is defined in
|
|||
.EX
|
||||
struct utsname {
|
||||
char sysname[]; /* Operating system name (e.g., "Linux") */
|
||||
char nodename[]; /* Name within "some implementation-defined
|
||||
char nodename[]; /* Name within "some implementation\-defined
|
||||
network" */
|
||||
char release[]; /* Operating system release
|
||||
(e.g., "2.6.28") */
|
||||
|
|
|
@ -318,10 +318,10 @@ main(void)
|
|||
/* Forward traversal */
|
||||
i = 0;
|
||||
CIRCLEQ_FOREACH(np, &head, entries)
|
||||
np->data = i++;
|
||||
np\->data = i++;
|
||||
/* Reverse traversal */
|
||||
CIRCLEQ_FOREACH_REVERSE(np, &head, entries)
|
||||
printf("%i\en", np->data);
|
||||
printf("%i\en", np\->data);
|
||||
/* Queue deletion */
|
||||
n1 = CIRCLEQ_FIRST(&head);
|
||||
while (n1 != (void *)&head) {
|
||||
|
|
|
@ -124,7 +124,7 @@ An example run is the following:
|
|||
.in +4n
|
||||
.EX
|
||||
.RB "$" " ./a.out 1" " # Show CPU clock of init process"
|
||||
CPU-time clock for PID 1 is 2.213466748 seconds
|
||||
CPU\-time clock for PID 1 is 2.213466748 seconds
|
||||
.EE
|
||||
.in
|
||||
.SS Program source
|
||||
|
@ -158,7 +158,7 @@ main(int argc, char *argv[])
|
|||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
printf("CPU-time clock for PID %s is %jd.%09ld seconds\en",
|
||||
printf("CPU\-time clock for PID %s is %jd.%09ld seconds\en",
|
||||
argv[1], (intmax_t) ts.tv_sec, ts.tv_nsec);
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ struct cmsghdr {
|
|||
size_t cmsg_len; /* Data byte count, including header
|
||||
(type is socklen_t in POSIX) */
|
||||
int cmsg_level; /* Originating protocol */
|
||||
int cmsg_type; /* Protocol-specific type */
|
||||
int cmsg_type; /* Protocol\-specific type */
|
||||
/* followed by
|
||||
unsigned char cmsg_data[]; */
|
||||
};
|
||||
|
|
|
@ -77,7 +77,7 @@ argument is a structure of the following type:
|
|||
.EX
|
||||
struct dl_phdr_info {
|
||||
ElfW(Addr) dlpi_addr; /* Base address of object */
|
||||
const char *dlpi_name; /* (Null-terminated) name of
|
||||
const char *dlpi_name; /* (Null\-terminated) name of
|
||||
object */
|
||||
const ElfW(Phdr) *dlpi_phdr; /* Pointer to array of
|
||||
ELF program headers
|
||||
|
@ -186,11 +186,11 @@ for further details):
|
|||
#define PT_NOTE 4 /* Auxiliary information */
|
||||
#define PT_SHLIB 5 /* Reserved */
|
||||
#define PT_PHDR 6 /* Entry for header table itself */
|
||||
#define PT_TLS 7 /* Thread-local storage segment */
|
||||
#define PT_TLS 7 /* Thread\-local storage segment */
|
||||
#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
|
||||
#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
|
||||
.\" For PT_GNU_STACK, see http://www.airs.com/blog/archives/518
|
||||
#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
|
||||
#define PT_GNU_RELRO 0x6474e552 /* Read\-only after relocation */
|
||||
.EE
|
||||
.in
|
||||
.SH RETURN VALUE
|
||||
|
@ -273,7 +273,7 @@ Name: "" (9 segments)
|
|||
6: [ 0x400970; memsz: 3c] flags: 0x4; PT_GNU_EH_FRAME
|
||||
7: [ (nil); memsz: 0] flags: 0x6; PT_GNU_STACK
|
||||
8: [ 0x600e10; memsz: 1f0] flags: 0x4; PT_GNU_RELRO
|
||||
Name: "linux-vdso.so.1" (4 segments)
|
||||
Name: "linux\-vdso.so.1" (4 segments)
|
||||
0: [0x7ffc6edd1000; memsz: e89] flags: 0x5; PT_LOAD
|
||||
1: [0x7ffc6edd1360; memsz: 110] flags: 0x4; PT_DYNAMIC
|
||||
2: [0x7ffc6edd17b0; memsz: 3c] flags: 0x4; PT_NOTE
|
||||
|
@ -289,7 +289,7 @@ Name: "/lib64/libc.so.6" (10 segments)
|
|||
7: [0x7f557145b99c; memsz: 544c] flags: 0x4; PT_GNU_EH_FRAME
|
||||
8: [0x7f55712ce000; memsz: 0] flags: 0x6; PT_GNU_STACK
|
||||
9: [0x7f55716857a0; memsz: 3860] flags: 0x4; PT_GNU_RELRO
|
||||
Name: "/lib64/ld-linux-x86-64.so.2" (7 segments)
|
||||
Name: "/lib64/ld\-linux\-x86\-64.so.2" (7 segments)
|
||||
0: [0x7f557168f000; memsz: 20828] flags: 0x5; PT_LOAD
|
||||
1: [0x7f55718afba0; memsz: 15a8] flags: 0x6; PT_LOAD
|
||||
2: [0x7f55718afe10; memsz: 190] flags: 0x6; PT_DYNAMIC
|
||||
|
|
|
@ -594,7 +594,7 @@ main(void)
|
|||
|
||||
/* According to the ISO C standard, casting between function
|
||||
pointers and \(aqvoid *\(aq, as done above, produces undefined results.
|
||||
POSIX.1-2001 and POSIX.1-2008 accepted this state of affairs and
|
||||
POSIX.1\-2001 and POSIX.1\-2008 accepted this state of affairs and
|
||||
proposed the following workaround:
|
||||
|
||||
*(void **) (&cosine) = dlsym(handle, "cos");
|
||||
|
@ -602,7 +602,7 @@ main(void)
|
|||
This (clumsy) cast conforms with the ISO C standard and will
|
||||
avoid any compiler warnings.
|
||||
|
||||
The 2013 Technical Corrigendum 1 to POSIX.1-2008 improved matters
|
||||
The 2013 Technical Corrigendum 1 to POSIX.1\-2008 improved matters
|
||||
by requiring that conforming implementations support casting
|
||||
\(aqvoid *\(aq to a function pointer. Nevertheless, some compilers
|
||||
(e.g., gcc with the \(aq\-pedantic\(aq option) may complain about the
|
||||
|
|
|
@ -161,10 +161,10 @@ main(int argc, char *argv[])
|
|||
uint8_t arr[4];
|
||||
} x;
|
||||
|
||||
x.arr[0] = 0x11; /* Lowest-address byte */
|
||||
x.arr[0] = 0x11; /* Lowest\-address byte */
|
||||
x.arr[1] = 0x22;
|
||||
x.arr[2] = 0x33;
|
||||
x.arr[3] = 0x44; /* Highest-address byte */
|
||||
x.arr[3] = 0x44; /* Highest\-address byte */
|
||||
|
||||
printf("x.u32 = %#x\en", x.u32);
|
||||
printf("htole32(x.u32) = %#x\en", htole32(x.u32));
|
||||
|
|
|
@ -74,7 +74,7 @@ struct group {
|
|||
char *gr_name; /* group name */
|
||||
char *gr_passwd; /* group password */
|
||||
gid_t gr_gid; /* group ID */
|
||||
char **gr_mem; /* NULL-terminated array of pointers
|
||||
char **gr_mem; /* NULL\-terminated array of pointers
|
||||
to names of group members */
|
||||
};
|
||||
.EE
|
||||
|
|
|
@ -248,11 +248,11 @@ The following shell session demonstrates the operation of the program:
|
|||
.EX
|
||||
.RB "$" " TFILE=$PWD/tfile"
|
||||
.RB "$" " echo \(aq%A\(aq > $TFILE " " # Full name of the day of the week"
|
||||
.RB "$" " echo \(aq%T\(aq >> $TFILE" " # ISO date (YYYY-MM-DD)"
|
||||
.RB "$" " echo \(aq%T\(aq >> $TFILE" " # ISO date (YYYY\-MM\-DD)"
|
||||
.RB "$" " echo \(aq%F\(aq >> $TFILE" " # Time (HH:MM:SS)"
|
||||
.RB "$" " date"
|
||||
.RB "$" " export DATEMSK=$TFILE"
|
||||
.RB "$" " ./a.out Tuesday \(aq2009-12-28\(aq \(aq12:22:33\(aq"
|
||||
.RB "$" " ./a.out Tuesday \(aq2009\-12\-28\(aq \(aq12:22:33\(aq"
|
||||
Sun Sep 7 06:03:36 CEST 2008
|
||||
Call 1 ("Tuesday") succeeded:
|
||||
tm_sec = 36
|
||||
|
@ -264,7 +264,7 @@ Call 1 ("Tuesday") succeeded:
|
|||
tm_wday = 2
|
||||
tm_yday = 252
|
||||
tm_isdst = 1
|
||||
Call 2 ("2009-12-28") succeeded:
|
||||
Call 2 ("2009\-12\-28") succeeded:
|
||||
tm_sec = 36
|
||||
tm_min = 3
|
||||
tm_hour = 6
|
||||
|
|
|
@ -97,7 +97,7 @@ struct group {
|
|||
char *gr_name; /* group name */
|
||||
char *gr_passwd; /* group password */
|
||||
gid_t gr_gid; /* group ID */
|
||||
char **gr_mem; /* NULL-terminated array of pointers
|
||||
char **gr_mem; /* NULL\-terminated array of pointers
|
||||
to names of group members */
|
||||
};
|
||||
.EE
|
||||
|
|
|
@ -74,7 +74,7 @@ struct group {
|
|||
char *gr_name; /* group name */
|
||||
char *gr_passwd; /* group password */
|
||||
gid_t gr_gid; /* group ID */
|
||||
char **gr_mem; /* NULL-terminated array of pointers
|
||||
char **gr_mem; /* NULL\-terminated array of pointers
|
||||
to names of group members */
|
||||
};
|
||||
.EE
|
||||
|
|
|
@ -84,7 +84,7 @@ struct group {
|
|||
char *gr_name; /* group name */
|
||||
char *gr_passwd; /* group password */
|
||||
gid_t gr_gid; /* group ID */
|
||||
char **gr_mem; /* NULL-terminated array of pointers
|
||||
char **gr_mem; /* NULL\-terminated array of pointers
|
||||
to names of group members */
|
||||
};
|
||||
.EE
|
||||
|
|
|
@ -67,11 +67,11 @@ struct ifaddrs {
|
|||
struct sockaddr *ifu_broadaddr;
|
||||
/* Broadcast address of interface */
|
||||
struct sockaddr *ifu_dstaddr;
|
||||
/* Point-to-point destination address */
|
||||
/* Point\-to\-point destination address */
|
||||
} ifa_ifu;
|
||||
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
|
||||
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
|
||||
void *ifa_data; /* Address-specific data */
|
||||
void *ifa_data; /* Address\-specific data */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -188,7 +188,7 @@ struct spwd {
|
|||
char *sp_pwdp; /* Encrypted password */
|
||||
long sp_lstchg; /* Date of last change
|
||||
(measured in days since
|
||||
1970-01-01 00:00:00 +0000 (UTC)) */
|
||||
1970\-01\-01 00:00:00 +0000 (UTC)) */
|
||||
long sp_min; /* Min # of days between changes */
|
||||
long sp_max; /* Max # of days between changes */
|
||||
long sp_warn; /* # of days before password expires
|
||||
|
@ -197,7 +197,7 @@ struct spwd {
|
|||
until account is disabled */
|
||||
long sp_expire; /* Date when account expires
|
||||
(measured in days since
|
||||
1970-01-01 00:00:00 +0000 (UTC)) */
|
||||
1970\-01\-01 00:00:00 +0000 (UTC)) */
|
||||
unsigned long sp_flag; /* Reserved */
|
||||
};
|
||||
.EE
|
||||
|
|
|
@ -47,7 +47,7 @@ structure contains at least the following entries:
|
|||
.in +4n
|
||||
.EX
|
||||
unsigned int if_index; /* Index of interface (1, 2, ...) */
|
||||
char *if_name; /* Null-terminated name ("eth0", etc.) */
|
||||
char *if_name; /* Null\-terminated name ("eth0", etc.) */
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -303,13 +303,13 @@ main(void)
|
|||
|
||||
i = 0; /* Forward traversal */
|
||||
LIST_FOREACH(np, &head, entries)
|
||||
np->data = i++;
|
||||
np\->data = i++;
|
||||
|
||||
LIST_REMOVE(n2, entries); /* Deletion */
|
||||
free(n2);
|
||||
/* Forward traversal */
|
||||
LIST_FOREACH(np, &head, entries)
|
||||
printf("%i\en", np->data);
|
||||
printf("%i\en", np\->data);
|
||||
/* List deletion */
|
||||
n1 = LIST_FIRST(&head);
|
||||
while (n1 != NULL) {
|
||||
|
|
|
@ -56,7 +56,7 @@ is defined as follows:
|
|||
.in +4n
|
||||
.EX
|
||||
struct mallinfo2 {
|
||||
size_t arena; /* Non-mmapped space allocated (bytes) */
|
||||
size_t arena; /* Non\-mmapped space allocated (bytes) */
|
||||
size_t ordblks; /* Number of free chunks */
|
||||
size_t smblks; /* Number of free fastbin blocks */
|
||||
size_t hblks; /* Number of mmapped regions */
|
||||
|
@ -66,7 +66,7 @@ struct mallinfo2 {
|
|||
size_t fsmblks; /* Space in freed fastbin blocks (bytes) */
|
||||
size_t uordblks; /* Total allocated space (bytes) */
|
||||
size_t fordblks; /* Total free space (bytes) */
|
||||
size_t keepcost; /* Top-most, releasable space (bytes) */
|
||||
size_t keepcost; /* Top\-most, releasable space (bytes) */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -322,7 +322,7 @@ is given an argument of 0.0, does not use
|
|||
.EX
|
||||
.RB "$" " ./a.out 0.0"
|
||||
errno: Numerical result out of range
|
||||
x=-inf
|
||||
x=\-inf
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
@ -338,7 +338,7 @@ matherr SING exception in log() function
|
|||
retval: \-340282346638528859811704183484516925440.000000
|
||||
log: SING error
|
||||
errno: Numerical argument out of domain
|
||||
x=-340282346638528859811704183484516925440.000000
|
||||
x=\-340282346638528859811704183484516925440.000000
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
@ -354,7 +354,7 @@ is called, and returns a nonzero value:
|
|||
matherr SING exception in log() function
|
||||
args: 0.000000, 0.000000
|
||||
retval: \-340282346638528859811704183484516925440.000000
|
||||
x=-340282346638528859811704183484516925440.000000
|
||||
x=\-340282346638528859811704183484516925440.000000
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -173,7 +173,7 @@ diagnosed memory leaks at two different locations in the program:
|
|||
.RB "$ " "./t_mtrace"
|
||||
.RB "$ " "mtrace ./t_mtrace $MALLOC_TRACE"
|
||||
Memory not freed:
|
||||
-----------------
|
||||
-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
|
||||
Address Size Caller
|
||||
0x084c9378 0x64 at /home/cecilia/t_mtrace.c:12
|
||||
0x084c93e0 0x64 at /home/cecilia/t_mtrace.c:12
|
||||
|
|
|
@ -46,7 +46,7 @@ is equivalent to:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
strtod("NAN(char-sequence)", NULL);
|
||||
strtod("NAN(char\-sequence)", NULL);
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -289,7 +289,7 @@ New Zealand Māori):
|
|||
.EX
|
||||
$ LC_ALL=mi_NZ ./a.out fr_FR ""
|
||||
123456,789
|
||||
Te Paraire, te 07 o Poutū-te-rangi, 2014 00:38:44 CET
|
||||
Te Paraire, te 07 o Poutū\-te\-rangi, 2014 00:38:44 CET
|
||||
.EE
|
||||
.in
|
||||
.SS Program source
|
||||
|
|
|
@ -195,7 +195,7 @@ New thread started
|
|||
cnt = 0
|
||||
cnt = 1
|
||||
Canceling thread
|
||||
Called clean-up handler
|
||||
Called clean\-up handler
|
||||
Thread was canceled; cnt = 0
|
||||
.EE
|
||||
.in
|
||||
|
@ -236,7 +236,7 @@ $ \fB./a.out x 1\fP
|
|||
New thread started
|
||||
cnt = 0
|
||||
cnt = 1
|
||||
Called clean-up handler
|
||||
Called clean\-up handler
|
||||
Thread terminated normally; cnt = 0
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -342,7 +342,7 @@ main(int argc, char *argv[])
|
|||
break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "Usage: %s [\-s stack-size] arg...\en",
|
||||
fprintf(stderr, "Usage: %s [\-s stack\-size] arg...\en",
|
||||
argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
|
|
@ -190,7 +190,7 @@ and that thread displays its scheduling policy and priority.
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
$ \fBsu\fP # Need privilege to set real-time scheduling policies
|
||||
$ \fBsu\fP # Need privilege to set real\-time scheduling policies
|
||||
Password:
|
||||
# \fB./a.out \-mf10 \-ar20 \-i e\fP
|
||||
Scheduler settings of main thread
|
||||
|
|
|
@ -63,7 +63,7 @@ struct dirent {
|
|||
unsigned short d_reclen; /* Length of this record */
|
||||
unsigned char d_type; /* Type of file; not supported
|
||||
by all filesystem types */
|
||||
char d_name[256]; /* Null-terminated filename */
|
||||
char d_name[256]; /* Null\-terminated filename */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -386,7 +386,7 @@ main(int argc, char *argv[])
|
|||
if (shmp == MAP_FAILED)
|
||||
errExit("mmap");
|
||||
|
||||
/* Initialize semaphores as process-shared, with value 0. */
|
||||
/* Initialize semaphores as process\-shared, with value 0. */
|
||||
|
||||
if (sem_init(&shmp\->sem1, 1, 0) == \-1)
|
||||
errExit("sem_init\-sem1");
|
||||
|
|
|
@ -316,12 +316,12 @@ main(void)
|
|||
for (int i = 0; i < 5; i++) {
|
||||
n1 = malloc(sizeof(struct entry));
|
||||
SLIST_INSERT_HEAD(&head, n1, entries);
|
||||
n1->data = i;
|
||||
n1\->data = i;
|
||||
}
|
||||
|
||||
/* Forward traversal */
|
||||
SLIST_FOREACH(np, &head, entries)
|
||||
printf("%i\en", np->data);
|
||||
printf("%i\en", np\->data);
|
||||
|
||||
while (!SLIST_EMPTY(&head)) { /* List deletion */
|
||||
n1 = SLIST_FIRST(&head);
|
||||
|
|
|
@ -339,15 +339,15 @@ main(void)
|
|||
free(n3);
|
||||
|
||||
n1 = STAILQ_FIRST(&head);
|
||||
n1->data = 0;
|
||||
n1\->data = 0;
|
||||
for (int i = 1; i < 5; i++) {
|
||||
n1 = malloc(sizeof(struct entry));
|
||||
STAILQ_INSERT_HEAD(&head, n1, entries);
|
||||
n1->data = i;
|
||||
n1\->data = i;
|
||||
}
|
||||
/* Forward traversal */
|
||||
STAILQ_FOREACH(np, &head, entries)
|
||||
printf("%i\en", np->data);
|
||||
printf("%i\en", np\->data);
|
||||
/* TailQ deletion */
|
||||
n1 = STAILQ_FIRST(&head);
|
||||
while (n1 != NULL) {
|
||||
|
|
|
@ -395,10 +395,10 @@ main(void)
|
|||
/* Forward traversal */
|
||||
i = 0;
|
||||
TAILQ_FOREACH(np, &head, entries)
|
||||
np->data = i++;
|
||||
np\->data = i++;
|
||||
/* Reverse traversal */
|
||||
TAILQ_FOREACH_REVERSE(np, &head, tailhead, entries)
|
||||
printf("%i\en", np->data);
|
||||
printf("%i\en", np\->data);
|
||||
/* TailQ deletion */
|
||||
n1 = TAILQ_FIRST(&head);
|
||||
while (n1 != NULL) {
|
||||
|
|
|
@ -123,7 +123,7 @@ The hour must be between 0 and 24, and the minutes and seconds 00 and 59:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
.RI [ + | - ] hh [ :mm [ :ss ]]
|
||||
.RI [ + | \- ] hh [ :mm [ :ss ]]
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
@ -167,7 +167,7 @@ and the changeovers happen at the default time of 02:00:00:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"
|
||||
TZ="NZST\-12:00:00NZDT\-13:00:00,M10.1.0,M3.3.0"
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
12
man4/cciss.4
12
man4/cciss.4
|
@ -112,11 +112,11 @@ Minor numbers:
|
|||
.PP
|
||||
.EX
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
|----+----| |----+----|
|
||||
|\-\-\-\-+\-\-\-\-| |\-\-\-\-+\-\-\-\-|
|
||||
| |
|
||||
| +-------- Partition ID (0=wholedev, 1\-15 partition)
|
||||
| +\-\-\-\-\-\-\-\- Partition ID (0=wholedev, 1\-15 partition)
|
||||
|
|
||||
+-------------------- Logical Volume number
|
||||
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- Logical Volume number
|
||||
.EE
|
||||
.PP
|
||||
The device naming scheme is:
|
||||
|
@ -144,9 +144,9 @@ For example:
|
|||
$ \fBcd /proc/driver/cciss\fP
|
||||
$ \fBls \-l\fP
|
||||
total 0
|
||||
-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss0
|
||||
-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss1
|
||||
-rw-r--r-- 1 root root 0 2010\-09\-10 10:38 cciss2
|
||||
-rw\-r\-\-r\-\- 1 root root 0 2010\-09\-10 10:38 cciss0
|
||||
-rw\-r\-\-r\-\- 1 root root 0 2010\-09\-10 10:38 cciss1
|
||||
-rw\-r\-\-r\-\- 1 root root 0 2010\-09\-10 10:38 cciss2
|
||||
$ \fBcat cciss2\fP
|
||||
cciss2: HP Smart Array P800 Controller
|
||||
Board ID: 0x3223103c
|
||||
|
|
|
@ -288,7 +288,7 @@ the normal root device to
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
echo 0x365 >/proc/sys/kernel/real-root-dev
|
||||
echo 0x365 >/proc/sys/kernel/real\-root\-dev
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
@ -300,10 +300,10 @@ IP number 193.8.232.2 and named "idefix":
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
echo /var/nfsroot >/proc/sys/kernel/nfs-root-name
|
||||
echo /var/nfsroot >/proc/sys/kernel/nfs\-root\-name
|
||||
echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \e
|
||||
>/proc/sys/kernel/nfs-root-addrs
|
||||
echo 255 >/proc/sys/kernel/real-root-dev
|
||||
>/proc/sys/kernel/nfs\-root\-addrs
|
||||
echo 255 >/proc/sys/kernel/real\-root\-dev
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -177,8 +177,8 @@ which is run during the Linux system start-up sequence:
|
|||
.in +4n
|
||||
.EX
|
||||
echo "Initializing random number generator..."
|
||||
random_seed=/var/run/random-seed
|
||||
# Carry a random seed from start-up to start-up
|
||||
random_seed=/var/run/random\-seed
|
||||
# Carry a random seed from start\-up to start\-up
|
||||
# Load and then save the whole entropy pool
|
||||
if [ \-f $random_seed ]; then
|
||||
cat $random_seed >/dev/urandom
|
||||
|
@ -198,10 +198,10 @@ run during the Linux system shutdown:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
# Carry a random seed from shut-down to start-up
|
||||
# Carry a random seed from shut\-down to start\-up
|
||||
# Save the whole entropy pool
|
||||
echo "Saving random seed..."
|
||||
random_seed=/var/run/random-seed
|
||||
random_seed=/var/run/random\-seed
|
||||
touch $random_seed
|
||||
chmod 600 $random_seed
|
||||
poolfile=/proc/sys/kernel/random/poolsize
|
||||
|
|
|
@ -175,7 +175,7 @@ For example:
|
|||
.EX
|
||||
$ \c
|
||||
.B cat /sys/class/scsi_host/host1/driver_version
|
||||
1.1.2-126
|
||||
1.1.2\-126
|
||||
.EE
|
||||
.in
|
||||
.TP
|
||||
|
@ -191,7 +191,7 @@ For example:
|
|||
.EX
|
||||
$ \c
|
||||
.B cat /sys/class/scsi_host/host1/firmware_version
|
||||
1.29-112
|
||||
1.29\-112
|
||||
.EE
|
||||
.in
|
||||
.TP
|
||||
|
@ -207,7 +207,7 @@ For example:
|
|||
.EX
|
||||
$ \c
|
||||
.B cat /sys/class/scsi_host/host1/model
|
||||
1100-16i
|
||||
1100\-16i
|
||||
.EE
|
||||
.in
|
||||
.TP
|
||||
|
|
|
@ -69,7 +69,7 @@ parameter when creating the interfaces:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
# ip link add <p1-name> netns <p1-ns> type veth peer <p2-name> netns <p2-ns>
|
||||
# ip link add <p1\-name> netns <p1\-ns> type veth peer <p2\-name> netns <p2\-ns>
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
@ -79,7 +79,7 @@ pair, move one side to the other namespace:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
# ip link set <p2-name> netns <p2-ns>
|
||||
# ip link set <p2\-name> netns <p2\-ns>
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
@ -95,7 +95,7 @@ network interface, using commands something like:
|
|||
NIC statistics:
|
||||
peer_ifindex: 16
|
||||
# \fBip link | grep \(aq\(ha16:\(aq\fP # Look up interface
|
||||
16: ve_B@ve_A: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc ...
|
||||
16: ve_B@ve_A: <BROADCAST,MULTICAST,M\-DOWN> mtu 1500 qdisc ...
|
||||
.EE
|
||||
.in
|
||||
.SH "SEE ALSO"
|
||||
|
|
|
@ -73,7 +73,7 @@ struct acct {
|
|||
(see wait(2)) */
|
||||
char ac_comm[ACCT_COMM+1];
|
||||
/* Command name (basename of last
|
||||
executed command; null-terminated) */
|
||||
executed command; null\-terminated) */
|
||||
char ac_pad[\fIX\fP]; /* padding bytes */
|
||||
};
|
||||
|
||||
|
|
14
man5/core.5
14
man5/core.5
|
@ -514,12 +514,12 @@ using
|
|||
.BR coredumpctl (1):
|
||||
.PP
|
||||
.EX
|
||||
$ \fBcoredumpctl list | tail -5\fP
|
||||
Wed 2017-10-11 22:25:30 CEST 2748 1000 1000 3 present /usr/bin/sleep
|
||||
Thu 2017-10-12 06:29:10 CEST 2716 1000 1000 3 present /usr/bin/sleep
|
||||
Thu 2017-10-12 06:30:50 CEST 2767 1000 1000 3 present /usr/bin/sleep
|
||||
Thu 2017-10-12 06:37:40 CEST 2918 1000 1000 3 present /usr/bin/cat
|
||||
Thu 2017-10-12 08:13:07 CEST 2955 1000 1000 3 present /usr/bin/cat
|
||||
$ \fBcoredumpctl list | tail \-5\fP
|
||||
Wed 2017\-10\-11 22:25:30 CEST 2748 1000 1000 3 present /usr/bin/sleep
|
||||
Thu 2017\-10\-12 06:29:10 CEST 2716 1000 1000 3 present /usr/bin/sleep
|
||||
Thu 2017\-10\-12 06:30:50 CEST 2767 1000 1000 3 present /usr/bin/sleep
|
||||
Thu 2017\-10\-12 06:37:40 CEST 2918 1000 1000 3 present /usr/bin/cat
|
||||
Thu 2017\-10\-12 08:13:07 CEST 2955 1000 1000 3 present /usr/bin/cat
|
||||
.EE
|
||||
.PP
|
||||
The information shown for each core dump includes the date and time
|
||||
|
@ -621,7 +621,7 @@ UID=%u GID=%g sig=%s\(dq > \e"
|
|||
.B " /proc/sys/kernel/core_pattern"
|
||||
.RB "#" " exit"
|
||||
.RB "$" " sleep 100"
|
||||
.BR "\(ha\e" " # type control-backslash"
|
||||
.BR "\(ha\e" " # type control\-backslash"
|
||||
Quit (core dumped)
|
||||
.RB "$" " cat core.info"
|
||||
argc=5
|
||||
|
|
10
man5/elf.5
10
man5/elf.5
|
@ -1871,18 +1871,18 @@ Elf64_Nhdr *note, *next_note;
|
|||
note = memory;
|
||||
|
||||
/* If the name is defined, it follows the note. */
|
||||
name = note->n_namesz == 0 ? NULL : memory + sizeof(*note);
|
||||
name = note\->n_namesz == 0 ? NULL : memory + sizeof(*note);
|
||||
|
||||
/* If the descriptor is defined, it follows the name
|
||||
(with alignment). */
|
||||
|
||||
desc = note->n_descsz == 0 ? NULL :
|
||||
memory + sizeof(*note) + ALIGN_UP(note->n_namesz, 4);
|
||||
desc = note\->n_descsz == 0 ? NULL :
|
||||
memory + sizeof(*note) + ALIGN_UP(note\->n_namesz, 4);
|
||||
|
||||
/* The next note follows both (with alignment). */
|
||||
next_note = memory + sizeof(*note) +
|
||||
ALIGN_UP(note->n_namesz, 4) +
|
||||
ALIGN_UP(note->n_descsz, 4);
|
||||
ALIGN_UP(note\->n_namesz, 4) +
|
||||
ALIGN_UP(note\->n_descsz, 4);
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -122,9 +122,9 @@ I just found three, from 92,
|
|||
209.237.226.90 www.opensource.org
|
||||
|
||||
# The following lines are desirable for IPv6 capable hosts
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
::1 localhost ip6\-localhost ip6\-loopback
|
||||
ff02::1 ip6\-allnodes
|
||||
ff02::2 ip6\-allrouters
|
||||
.EE
|
||||
.SH SEE ALSO
|
||||
.BR hostname (1),
|
||||
|
|
|
@ -42,11 +42,11 @@ contents of this file:
|
|||
.PP
|
||||
.EX
|
||||
$ \fBsudo cat /proc/slabinfo\fP
|
||||
slabinfo - version: 2.1
|
||||
slabinfo \- version: 2.1
|
||||
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> ...
|
||||
sigqueue 100 100 160 25 1 : tunables 0 0 0 : slabdata 4 4 0
|
||||
sighand_cache 355 405 2112 15 8 : tunables 0 0 0 : slabdata 27 27 0
|
||||
kmalloc-8192 96 96 8192 4 8 : tunables 0 0 0 : slabdata 24 24 0
|
||||
kmalloc\-8192 96 96 8192 4 8 : tunables 0 0 0 : slabdata 24 24 0
|
||||
\&...
|
||||
.EE
|
||||
.PP
|
||||
|
|
|
@ -66,7 +66,7 @@ around; details depend on the version of libc):
|
|||
|
||||
#define EMPTY 0 /* Record does not contain valid info
|
||||
(formerly known as UT_UNKNOWN on Linux) */
|
||||
#define RUN_LVL 1 /* Change in system run-level (see
|
||||
#define RUN_LVL 1 /* Change in system run\-level (see
|
||||
\fBinit\fP(1)) */
|
||||
#define BOOT_TIME 2 /* Time of system boot (in \fIut_tv\fP) */
|
||||
#define NEW_TIME 3 /* Time after system clock change
|
||||
|
@ -96,14 +96,14 @@ struct utmp {
|
|||
or inittab(5) ID */
|
||||
char ut_user[UT_NAMESIZE]; /* Username */
|
||||
char ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or
|
||||
kernel version for run-level
|
||||
kernel version for run\-level
|
||||
messages */
|
||||
struct exit_status ut_exit; /* Exit status of a process
|
||||
marked as DEAD_PROCESS; not
|
||||
used by Linux init(1) */
|
||||
/* The ut_session and ut_tv fields must be the same size when
|
||||
compiled 32- and 64-bit. This allows data files and shared
|
||||
memory to be shared between 32- and 64-bit applications. */
|
||||
compiled 32\- and 64\-bit. This allows data files and shared
|
||||
memory to be shared between 32\- and 64\-bit applications. */
|
||||
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
|
||||
int32_t ut_session; /* Session ID (\fBgetsid\fP(2)),
|
||||
used for windowing */
|
||||
|
|
|
@ -82,7 +82,7 @@ This structure has the following form:
|
|||
#include <aiocb.h>
|
||||
|
||||
struct aiocb {
|
||||
/* The order of these fields is implementation-dependent */
|
||||
/* The order of these fields is implementation\-dependent */
|
||||
|
||||
int aio_fildes; /* File descriptor */
|
||||
off_t aio_offset; /* File offset */
|
||||
|
@ -93,7 +93,7 @@ struct aiocb {
|
|||
int aio_lio_opcode; /* Operation to be performed;
|
||||
lio_listio() only */
|
||||
|
||||
/* Various implementation-internal fields not shown */
|
||||
/* Various implementation\-internal fields not shown */
|
||||
};
|
||||
|
||||
/* Operation codes for \(aqaio_lio_opcode\(aq: */
|
||||
|
@ -279,7 +279,7 @@ quitHandler(int sig)
|
|||
static void /* Handler for I/O completion signal */
|
||||
aioSigHandler(int sig, siginfo_t *si, void *ucontext)
|
||||
{
|
||||
if (si->si_code == SI_ASYNCIO) {
|
||||
if (si\->si_code == SI_ASYNCIO) {
|
||||
write(STDOUT_FILENO, "I/O completion signal received\en", 31);
|
||||
|
||||
/* The corresponding ioRequest structure would be available as
|
||||
|
|
|
@ -1827,7 +1827,7 @@ there is one entry containing three colon-separated fields:
|
|||
.IP
|
||||
.in +4n
|
||||
.EX
|
||||
hierarchy-ID:controller-list:cgroup-path
|
||||
hierarchy\-ID:controller\-list:cgroup\-path
|
||||
.EE
|
||||
.in
|
||||
.IP
|
||||
|
|
|
@ -1138,8 +1138,8 @@ main(int argc, char **argv)
|
|||
fid\->hdr.info_type == FAN_EVENT_INFO_TYPE_DFID) {
|
||||
file_name = NULL;
|
||||
} else if (fid\->hdr.info_type == FAN_EVENT_INFO_TYPE_DFID_NAME) {
|
||||
file_name = file_handle->f_handle +
|
||||
file_handle->handle_bytes;
|
||||
file_name = file_handle\->f_handle +
|
||||
file_handle\->handle_bytes;
|
||||
} else {
|
||||
fprintf(stderr, "Received unexpected event info type.\en");
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
|
@ -115,7 +115,7 @@ struct inotify_event {
|
|||
uint32_t cookie; /* Unique cookie associating related
|
||||
events (for rename(2)) */
|
||||
uint32_t len; /* Size of \fIname\fP field */
|
||||
char name[]; /* Optional null-terminated name */
|
||||
char name[]; /* Optional null\-terminated name */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -447,7 +447,7 @@ struct ip_msfilter {
|
|||
address */
|
||||
struct in_addr imsf_interface; /* IP address of local
|
||||
interface */
|
||||
uint32_t imsf_fmode; /* Filter-mode */
|
||||
uint32_t imsf_fmode; /* Filter\-mode */
|
||||
|
||||
uint32_t imsf_numsrc; /* Number of sources in
|
||||
the following array */
|
||||
|
|
|
@ -551,15 +551,15 @@ is the following:
|
|||
.IP
|
||||
.EX
|
||||
(1) (2) (3)(4) (5) (6) (7) (8) (9)
|
||||
009a2028 I--Q--- 1 perm 3f010000 1000 1000 user krb_ccache:primary: 12
|
||||
1806c4ba I--Q--- 1 perm 3f010000 1000 1000 keyring _pid: 2
|
||||
25d3a08f I--Q--- 1 perm 1f3f0000 1000 65534 keyring _uid_ses.1000: 1
|
||||
28576bd8 I--Q--- 3 perm 3f010000 1000 1000 keyring _krb: 1
|
||||
2c546d21 I--Q--- 190 perm 3f030000 1000 1000 keyring _ses: 2
|
||||
30a4e0be I------ 4 2d 1f030000 1000 65534 keyring _persistent.1000: 1
|
||||
32100fab I--Q--- 4 perm 1f3f0000 1000 65534 keyring _uid.1000: 2
|
||||
32a387ea I--Q--- 1 perm 3f010000 1000 1000 keyring _pid: 2
|
||||
3ce56aea I--Q--- 5 perm 3f030000 1000 1000 keyring _ses: 1
|
||||
009a2028 I\-\-Q\-\-\- 1 perm 3f010000 1000 1000 user krb_ccache:primary: 12
|
||||
1806c4ba I\-\-Q\-\-\- 1 perm 3f010000 1000 1000 keyring _pid: 2
|
||||
25d3a08f I\-\-Q\-\-\- 1 perm 1f3f0000 1000 65534 keyring _uid_ses.1000: 1
|
||||
28576bd8 I\-\-Q\-\-\- 3 perm 3f010000 1000 1000 keyring _krb: 1
|
||||
2c546d21 I\-\-Q\-\-\- 190 perm 3f030000 1000 1000 keyring _ses: 2
|
||||
30a4e0be I\-\-\-\-\-\- 4 2d 1f030000 1000 65534 keyring _persistent.1000: 1
|
||||
32100fab I\-\-Q\-\-\- 4 perm 1f3f0000 1000 65534 keyring _uid.1000: 2
|
||||
32a387ea I\-\-Q\-\-\- 1 perm 3f010000 1000 1000 keyring _pid: 2
|
||||
3ce56aea I\-\-Q\-\-\- 5 perm 3f030000 1000 1000 keyring _ses: 1
|
||||
.EE
|
||||
.IP
|
||||
The fields shown in each line of this file are as follows:
|
||||
|
|
|
@ -164,8 +164,8 @@ lrwxrwxrwx. mnt \-> mnt:[4026531840]
|
|||
lrwxrwxrwx. net \-> net:[4026531969]
|
||||
lrwxrwxrwx. pid \-> pid:[4026531836]
|
||||
lrwxrwxrwx. pid_for_children \-> pid:[4026531834]
|
||||
lrwxrwxrwx. time -> time:[4026531834]
|
||||
lrwxrwxrwx. time_for_children -> time:[4026531834]
|
||||
lrwxrwxrwx. time \-> time:[4026531834]
|
||||
lrwxrwxrwx. time_for_children \-> time:[4026531834]
|
||||
lrwxrwxrwx. user \-> user:[4026531837]
|
||||
lrwxrwxrwx. uts \-> uts:[4026531838]
|
||||
.EE
|
||||
|
|
|
@ -117,12 +117,12 @@ structure is a device-independent physical-layer address.
|
|||
.EX
|
||||
struct sockaddr_ll {
|
||||
unsigned short sll_family; /* Always AF_PACKET */
|
||||
unsigned short sll_protocol; /* Physical-layer protocol */
|
||||
unsigned short sll_protocol; /* Physical\-layer protocol */
|
||||
int sll_ifindex; /* Interface number */
|
||||
unsigned short sll_hatype; /* ARP hardware type */
|
||||
unsigned char sll_pkttype; /* Packet type */
|
||||
unsigned char sll_halen; /* Length of address */
|
||||
unsigned char sll_addr[8]; /* Physical-layer address */
|
||||
unsigned char sll_addr[8]; /* Physical\-layer address */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
@ -208,7 +208,7 @@ struct packet_mreq {
|
|||
int mr_ifindex; /* interface index */
|
||||
unsigned short mr_type; /* action */
|
||||
unsigned short mr_alen; /* address length */
|
||||
unsigned char mr_address[8]; /* physical-layer address */
|
||||
unsigned char mr_address[8]; /* physical\-layer address */
|
||||
};
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -910,7 +910,7 @@ For example:
|
|||
.EX
|
||||
bash$ $( LD_ASSUME_KERNEL=2.2.5 ldd /bin/ls | grep libc.so | \e
|
||||
awk \(aq{print $3}\(aq ) | egrep \-i \(aqthreads|nptl\(aq
|
||||
linuxthreads-0.10 by Xavier Leroy
|
||||
linuxthreads\-0.10 by Xavier Leroy
|
||||
.EE
|
||||
.in
|
||||
.SH SEE ALSO
|
||||
|
|
|
@ -781,7 +781,7 @@ A process's autogroup (task group) membership can be viewed via the file
|
|||
.in +4n
|
||||
.EX
|
||||
$ \fBcat /proc/1/autogroup\fP
|
||||
/autogroup-1 nice 0
|
||||
/autogroup\-1 nice 0
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
@ -922,7 +922,7 @@ These patches are named:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
patch-\fIkernelversion\fP-rt\fIpatchversion\fP
|
||||
patch\-\fIkernelversion\fP\-rt\fIpatchversion\fP
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
|
@ -87,7 +87,7 @@ utility as:
|
|||
.in +4n
|
||||
.EX
|
||||
keyctl session
|
||||
keyctl session - [<prog> <arg1> <arg2> ...]
|
||||
keyctl session \- [<prog> <arg1> <arg2> ...]
|
||||
keyctl session <name> [<prog> <arg1> <arg2> ...]
|
||||
.EE
|
||||
.in
|
||||
|
|
|
@ -736,7 +736,7 @@ print_diag(const struct unix_diag_msg *diag, unsigned int len)
|
|||
}
|
||||
}
|
||||
|
||||
printf("inode=%u", diag->udiag_ino);
|
||||
printf("inode=%u", diag\->udiag_ino);
|
||||
|
||||
if (peer)
|
||||
printf(", peer=%u", peer);
|
||||
|
|
|
@ -111,7 +111,7 @@ here) is the SONAME for the library:
|
|||
.PP
|
||||
.in +4n
|
||||
.EX
|
||||
libfoo.so -> libfoo.so.1 -> libfoo.so.1.12
|
||||
libfoo.so \-> libfoo.so.1 \-> libfoo.so.1.12
|
||||
.EE
|
||||
.in
|
||||
.PP
|
||||
|
|
Loading…
Reference in New Issue