RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
powerpc
beatnik
include
bsp
bsp_bsdnet_attach.h
1
#ifndef BSP_BSDNET_ATTACH_INFO_H
2
#define BSP_BSDNET_ATTACH_INFO_H
3
4
/* Author: Till Straumann, 2005; see ../../LICENSE */
5
6
/* Rationale: traditionally, BSPs only supported a single networking interface
7
* the BSP defined RTEMS_NETWORK_DRIVER_NAME & friends macros
8
* for applications to use.
9
* If more than one interface is present, this simple approach is
10
* not enough.
11
* Hence, this BSP exports a routine declaring all available interfaces
12
* so the application can make a choice.
13
*/
14
15
#ifdef __cplusplus
16
extern
"C"
{
17
#endif
18
19
/* Fwd. decl just in case */
20
struct
rtems_bsdnet_ifconfig;
21
22
typedef
struct
{
23
/* name of the interface */
24
const
char
*name;
25
/* optional description (to be used by chooser 'help' function etc.) */
26
const
char
*description;
27
/* driver 'attach' function */
28
int (*attach_fn)(
struct
rtems_bsdnet_ifconfig*, int);
29
}
BSP_NetIFDescRec
, *BSP_NetIFDesc;
30
31
/* Return a pointer to the (static) list of network interface descriptions
32
* of this board.
33
*
34
* NOTES: A NULL value is returned if e.g., the board type cannot be determined
35
* or for other reasons.
36
* The 'description' field is optional, i.e., may be NULL.
37
* The list is terminated by an element with a NULL name field.
38
* The interfaces are listed in the order they are labelled.
39
*/
40
41
BSP_NetIFDesc
42
BSP_availableNetIFs(
void
);
43
44
/* Define this macro so applications can conditionally compile this API */
45
#define BSP_HAS_MULTIPLE_NETIFS(x) BSP_availableNetIFs()
46
47
/* Legacy macro; applications should use BSP_Available_NetIfs() to choose
48
* an interface and attach function.
49
*/
50
extern
char
BSP_auto_network_driver_name[20];
51
#define RTEMS_BSP_NETWORK_DRIVER_NAME BSP_auto_network_driver_name
52
53
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH BSP_auto_enet_attach
54
55
/* This routine checks the name field passed in the 'ifconfig'.
56
* If the name is NULL or points to the BSP_auto_network_driver_name
57
* array, the routine checks all interfaces for an active link and
58
* attaches the first alive one.
59
* It also updates 'ifconfig' to reflect the chosen interface's name
60
* and attach function.
61
*
62
* If another name is passed in, the routine scans
63
* the available interfaces for that name and uses it, if found.
64
* Eventually, a default interface is chosen (provided that
65
* the board type is successfully detected).
66
*
67
* Note that only ONE interface chained into rtems_bsdnet_config
68
* may use the "auto" name.
69
*
70
*/
71
72
int
73
BSP_auto_enet_attach(
struct
rtems_bsdnet_ifconfig *ifconfig,
int
attaching);
74
75
#ifdef __cplusplus
76
}
77
#endif
78
79
#endif
BSP_NetIFDescRec
Definition
bsp_bsdnet_attach.h:22
Generated by
1.18.0