Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
net-tools
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
net-tools
Commits
07258796
Commit
07258796
authored
Dec 01, 1998
by
Phil Blundell
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
AX25 improvements, from Tomi Manninen <tpm@prkele.tky.hut.fi>
parent
6e95aa8a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
15 deletions
+68
-15
netstat.c
netstat.c
+68
-15
No files found.
netstat.c
View file @
07258796
...
...
@@ -7,7 +7,7 @@
* NET-3 Networking Distribution for the LINUX operating
* system.
*
* Version: $Id: netstat.c,v 1.1
2 1998/11/29 13:29:11
philip Exp $
* Version: $Id: netstat.c,v 1.1
3 1998/12/01 09:28:09
philip Exp $
*
* Authors: Fred Baumgarten, <dc6iq@insu1.etec.uni-karlsruhe.de>
* Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
...
...
@@ -293,7 +293,7 @@ static int netrom_info(void)
{
FILE
*
f
;
char
buffer
[
256
],
dev
[
16
];
int
st
,
vs
,
vr
,
sendq
,
recvq
;
int
st
,
vs
,
vr
,
sendq
,
recvq
,
ret
;
f
=
fopen
(
_PATH_PROCNET_NR
,
"r"
);
if
(
f
==
NULL
)
{
...
...
@@ -309,16 +309,20 @@ static int netrom_info(void)
return
(
0
);
}
printf
(
_
(
"Active NET/ROM sockets
\n
"
));
printf
(
_
(
"User Dest Source Device State Vr/Vs Send-Q Recv-Q
\n
"
));
printf
(
_
(
"User Dest Source Device State Vr/Vs
Send-Q Recv-Q
\n
"
));
fgets
(
buffer
,
256
,
f
);
while
(
fgets
(
buffer
,
256
,
f
))
{
buffer
[
9
]
=
0
;
buffer
[
19
]
=
0
;
buffer
[
29
]
=
0
;
sscanf
(
buffer
+
30
,
"%s %*d/%*d %*d/%*d %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d %*d %d %
d"
,
ret
=
sscanf
(
buffer
+
30
,
"%s %*x/%*x %*x/%*x %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d %d %d %*
d"
,
dev
,
&
st
,
&
vs
,
&
vr
,
&
sendq
,
&
recvq
);
printf
(
"%-9s %-9s %-9s %-6s %-11s %02d/%02d %-6d %-6d
\n
"
,
if
(
ret
!=
6
)
{
printf
(
"Problem reading data from %s
\n
"
,
_PATH_PROCNET_NR
);
continue
;
}
printf
(
"%-9s %-9s %-9s %-6s %-11s %03d/%03d %-6d %-6d
\n
"
,
buffer
,
buffer
+
10
,
buffer
+
20
,
dev
,
_
(
netrom_state
[
st
]),
...
...
@@ -915,8 +919,10 @@ static int unix_info(void)
static
int
ax25_info
(
void
)
{
FILE
*
f
=
fopen
(
_PATH_PROCNET_AX25
,
"r"
);
char
buffer
[
256
],
dev
[
16
];
int
st
,
vs
,
vr
,
sendq
,
recvq
;
char
buffer
[
256
],
buf
[
16
];
char
*
src
,
*
dst
,
*
dev
,
*
p
;
int
st
,
vs
,
vr
,
sendq
,
recvq
,
ret
;
int
new
=
-
1
;
/* flag for new (2.1.x) kernels */
static
char
*
ax25_state
[
5
]
=
{
N_
(
"LISTENING"
),
...
...
@@ -938,15 +944,62 @@ static int ax25_info(void)
return
(
0
);
}
printf
(
_
(
"Active AX.25 sockets
\n
"
));
printf
(
_
(
"Dest Source Device State Vr/Vs Send-Q Recv-Q
\n
"
));
fgets
(
buffer
,
256
,
f
);
printf
(
_
(
"Dest Source Device State Vr/Vs Send-Q Recv-Q
\n
"
));
while
(
fgets
(
buffer
,
256
,
f
))
{
buffer
[
9
]
=
0
;
buffer
[
19
]
=
0
;
sscanf
(
buffer
+
20
,
"%s %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d %*d %d %d"
,
dev
,
&
st
,
&
vs
,
&
vr
,
&
sendq
,
&
recvq
);
printf
(
"%-9s %-9s %-6s %-11s %02d/%02d %-6d %-6d
\n
"
,
buffer
,
buffer
+
10
,
if
(
new
==
-
1
)
{
if
(
!
strncmp
(
buffer
,
"dest_addr"
,
9
))
{
new
=
0
;
continue
;
/* old kernels have a header line */
}
else
new
=
1
;
}
/*
* In a network connection with no user socket the Snd-Q, Rcv-Q
* and Inode fields are empty in 2.0.x and '*' in 2.1.x
*/
sendq
=
0
;
recvq
=
0
;
if
(
new
==
0
)
{
dst
=
buffer
;
src
=
buffer
+
10
;
dst
[
9
]
=
0
;
src
[
9
]
=
0
;
ret
=
sscanf
(
buffer
+
20
,
"%s %d %d %d %*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d/%*d %*d %*d %*d %d %d %*d"
,
buf
,
&
st
,
&
vs
,
&
vr
,
&
sendq
,
&
recvq
);
if
(
ret
!=
4
&&
ret
!=
6
)
{
printf
(
"Problem reading data from %s
\n
"
,
_PATH_PROCNET_AX25
);
continue
;
}
dev
=
buf
;
}
else
{
p
=
buffer
;
while
(
*
p
!=
' '
)
p
++
;
p
++
;
dev
=
p
;
while
(
*
p
!=
' '
)
p
++
;
*
p
++
=
0
;
src
=
p
;
while
(
*
p
!=
' '
)
p
++
;
*
p
++
=
0
;
dst
=
p
;
while
(
*
p
!=
' '
)
p
++
;
*
p
++
=
0
;
ret
=
sscanf
(
p
,
"%d %d %d %*d %*d %*d %*d %*d %*d %*d %*d %*d %*d %*d %*d %*d %*d %d %d %*d"
,
&
st
,
&
vs
,
&
vr
,
&
sendq
,
&
recvq
);
if
(
ret
!=
3
&&
ret
!=
5
)
{
printf
(
"problem reading data from %s
\n
"
,
_PATH_PROCNET_AX25
);
continue
;
}
/*
* FIXME: digipeaters should be handled somehow.
* For now we just strip them.
*/
p
=
dst
;
while
(
*
p
&&
*
p
!=
','
)
p
++
;
*
p
=
0
;
}
printf
(
"%-9s %-9s %-6s %-11s %03d/%03d %-6d %-6d
\n
"
,
dst
,
src
,
dev
,
_
(
ax25_state
[
st
]),
vr
,
vs
,
sendq
,
recvq
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment