source: rtems/c/src/lib/libbsp/powerpc/beatnik/network/support/bsp_bsdnet_attach.h @ 9b4422a2

4.115
Last change on this file since 9b4422a2 was 9b4422a2, checked in by Joel Sherrill <joel.sherrill@…>, on May 3, 2012 at 3:09:24 PM

Remove All CVS Id Strings Possible Using a Script

Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines

next to each other after Id string line removed.

+ remove entire comment blocks which only exited to

contain CVS Ids

+ If the processing left a blank line at the top of

a file, it was removed.

  • Property mode set to 100644
File size: 2.6 KB
Line 
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 */
20struct rtems_bsdnet_ifconfig;
21
22typedef 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
41BSP_NetIFDesc
42BSP_availableNetIFs();
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 */
50extern 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
72int
73BSP_auto_enet_attach(struct rtems_bsdnet_ifconfig *ifconfig, int attaching);
74
75#ifdef __cplusplus
76  }
77#endif
78
79#endif
Note: See TracBrowser for help on using the repository browser.