RTEMS CPU Kit with SuperCore
4.11.3
Main Page
Related Pages
Modules
+
Data Structures
Data Structures
+
Data Fields
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Functions
_
a
b
c
d
e
f
g
i
j
l
m
n
o
p
q
r
s
t
u
v
w
+
Variables
_
b
c
d
i
r
+
Typedefs
a
b
c
d
f
h
i
m
o
p
q
r
s
t
u
w
x
+
Enumerations
b
c
d
e
h
i
m
o
p
r
s
t
w
+
Enumerator
c
i
m
p
r
s
t
w
+
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
w
mnt
data0
chrisj
rtems
releases
rtems-release.git
4.11.3
ws-rtems
rtems-4.11.3
cpukit
libnetworking
net
if_dl.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 1990, 1993
3
* The Regents of the University of California. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 4. Neither the name of the University nor the names of its contributors
14
* may be used to endorse or promote products derived from this software
15
* without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
* SUCH DAMAGE.
28
*
29
* @(#)if_dl.h 8.1 (Berkeley) 6/10/93
30
* $FreeBSD: src/sys/net/if_dl.h,v 1.14 2005/01/07 01:45:34 imp Exp $
31
*/
32
33
34
#ifndef _NET_IF_DL_H_
35
#define _NET_IF_DL_H_
36
37
/*
38
* A Link-Level Sockaddr may specify the interface in one of two
39
* ways: either by means of a system-provided index number (computed
40
* anew and possibly differently on every reboot), or by a human-readable
41
* string such as "il0" (for managerial convenience).
42
*
43
* Census taking actions, such as something akin to SIOCGCONF would return
44
* both the index and the human name.
45
*
46
* High volume transactions (such as giving a link-level ``from'' address
47
* in a recvfrom or recvmsg call) may be likely only to provide the indexed
48
* form, (which requires fewer copy operations and less space).
49
*
50
* The form and interpretation of the link-level address is purely a matter
51
* of convention between the device driver and its consumers; however, it is
52
* expected that all drivers for an interface of a given if_type will agree.
53
*/
54
55
/*
56
* Structure of a Link-Level sockaddr:
57
*/
58
struct
sockaddr_dl
{
59
u_char sdl_len;
/* Total length of sockaddr */
60
u_char sdl_family;
/* AF_LINK */
61
u_short sdl_index;
/* if != 0, system given index for interface */
62
u_char sdl_type;
/* interface type */
63
u_char sdl_nlen;
/* interface name length, no trailing 0 reqd. */
64
u_char sdl_alen;
/* link level address length */
65
u_char sdl_slen;
/* link layer selector length */
66
char
sdl_data[46];
/* minimum work area, can be larger;
67
contains both if name and ll address */
68
};
69
70
#define LLADDR(s) ((caddr_t)((s)->sdl_data + (s)->sdl_nlen))
71
72
#ifndef _KERNEL
73
74
#include <sys/cdefs.h>
75
76
__BEGIN_DECLS
77
void
link_addr(
const
char
*,
struct
sockaddr_dl
*);
78
char
*link_ntoa(
const
struct
sockaddr_dl
*);
79
__END_DECLS
80
81
#endif
/* !_KERNEL */
82
83
#endif
sockaddr_dl
Definition:
if_dl.h:59
Generated by
1.8.13