OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [libnetworking/] [rtems/] [rtems_bsdnet_internal.h] - Blame information for rev 864

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*
2
 * Declarations to fit FreeBSD to RTEMS.
3
 *
4
 *******************************************************************
5
 *                            WARNING                              *
6
 * This file should *never* be included by any application program *
7
 *******************************************************************
8
 *
9
 *  $Id: rtems_bsdnet_internal.h,v 1.2 2001-09-27 12:02:00 chris Exp $
10
 */
11
 
12
#ifndef _RTEMS_BSDNET_INTERNAL_H_
13
#define _RTEMS_BSDNET_INTERNAL_H_
14
 
15
typedef unsigned int            vm_offset_t;
16
typedef long long               vm_ooffset_t;
17
typedef unsigned int            vm_pindex_t;
18
typedef unsigned int            vm_size_t;
19
 
20
#define _BSD_OFF_T_     rtems_signed32
21
#define _BSD_PID_T_     rtems_id
22
#define _BSD_VA_LIST_   char *
23
 
24
/* make sure we get the network versions of these */
25
#include "../machine/types.h"
26
#include "../machine/param.h"
27
 
28
#include <sys/time.h>
29
struct  itimerval {
30
  struct  timeval it_interval;
31
  struct  timeval it_value;
32
};
33
struct mdproc {
34
        int     md_flags;
35
        int     *md_regs;
36
};
37
 
38
#define USHRT_MAX       65535
39
 
40
/*
41
 * Other RTEMS/BSD glue
42
 */
43
struct socket;
44
extern int soconnsleep (struct socket *so);
45
extern void soconnwakeup (struct socket *so);
46
#define splnet()        0
47
#define splimp()        0
48
#define splx(_s)        do { (_s) = 0; } while(0)
49
 
50
#define ovbcopy(f,t,n) bcopy(f,t,n)
51
#define copyout(f,t,n) (memcpy(t,f,n),0)
52
#define copyin(f,t,n) (memcpy(t,f,n),0)
53
 
54
#define random()        rtems_bsdnet_random()
55
#define panic   rtems_panic
56
#define suser(a,b)      0
57
 
58
void    microtime (struct timeval *tv);
59
#define hz rtems_bsdnet_ticks_per_second
60
#define tick rtems_bsdnet_microseconds_per_tick
61
 
62
#define log     rtems_bsdnet_log
63
 
64
/*
65
 * Since we can't have two sys/types.h files, we'll hack around
66
 * and copy the contents of the BSD sys/types.h to here....
67
 */
68
#include <sys/cdefs.h>
69
 
70
typedef u_int64_t       u_quad_t;       /* quads */
71
typedef int64_t         quad_t;
72
typedef quad_t *        qaddr_t;
73
 
74
typedef void __sighandler_t __P((int));
75
typedef __sighandler_t  *sig_t; /* type of pointer to a signal function */
76
#define NSIG    32
77
struct  sigaltstack {
78
        char    *ss_sp;                 /* signal stack base */
79
        int     ss_size;                /* signal stack length */
80
        int     ss_flags;               /* SS_DISABLE and/or SS_ONSTACK */
81
};
82
 
83
#ifdef KERNEL
84
typedef int             boolean_t;
85
typedef struct vm_page  *vm_page_t;
86
#endif
87
 
88
#ifndef _POSIX_SOURCE
89
/*
90
 * minor() gives a cookie instead of an index since we don't want to
91
 * change the meanings of bits 0-15 or waste time and space shifting
92
 * bits 16-31 for devices that don't use them.
93
 */
94
#define major(x)        ((int)(((u_int)(x) >> 8)&0xff)) /* major number */
95
#define minor(x)        ((int)((x)&0xffff00ff))         /* minor number */
96
#define makedev(x,y)    ((dev_t)(((x) << 8) | (y)))     /* create dev_t */
97
#endif
98
 
99
#include <machine/endian.h>
100
 
101
typedef quad_t          rlim_t;         /* resource limit */
102
typedef u_int32_t       fixpt_t;        /* fixed point number */
103
 
104
/*
105
 * Forward structure declarations for function prototypes.  We include the
106
 * common structures that cross subsystem boundaries here; others are mostly
107
 * used in the same place that the structure is defined.
108
 */
109
struct  proc;
110
struct  pgrp;
111
struct  ucred;
112
struct  rusage;
113
struct  file;
114
struct  buf;
115
struct  tty;
116
struct  uio;
117
struct  rtems_bsdnet_ifconfig;
118
 
119
/*
120
 * Redo kernel memory allocation
121
 */
122
#define malloc rtems_bsdnet_malloc
123
#define free rtems_bsdnet_free
124
 
125
#define M_NOWAIT        0x0001
126
void *rtems_bsdnet_malloc (unsigned long size, int type, int flags);
127
void rtems_bsdnet_free (void *addr, int type);
128
 
129
void rtems_bsdnet_semaphore_obtain (void);
130
void rtems_bsdnet_semaphore_release (void);
131
void rtems_bsdnet_schednetisr (int n);
132
int rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep);
133
 
134
unsigned long rtems_bsdnet_seconds_since_boot (void);
135
unsigned long rtems_bsdnet_random (void);
136
 
137
rtems_id rtems_bsdnet_newproc (
138
  char  *name,
139
  int   stacksize,
140
  void  (*entry)(void *),
141
  void  *arg
142
);
143
 
144
rtems_status_code rtems_bsdnet_event_receive (
145
  rtems_event_set  event_in,
146
  rtems_option     option_set,
147
  rtems_interval   ticks,
148
  rtems_event_set *event_out
149
);
150
 
151
/*
152
 * Network configuration
153
 */
154
extern int rtems_bsdnet_ticks_per_second;
155
extern int rtems_bsdnet_microseconds_per_tick;
156
extern struct in_addr rtems_bsdnet_log_host_address;
157
extern char *rtems_bsdnet_domain_name;
158
extern struct in_addr rtems_bsdnet_nameserver[];
159
extern int rtems_bsdnet_nameserver_count;
160
 
161
/*
162
 * Internal IOCTL command
163
 */
164
#define SIO_RTEMS_SHOW_STATS    _IO('i', 250)
165
 
166
/*
167
 * Some extra prototypes
168
 */
169
int sethostname (char *name, size_t namelen);
170
void domaininit (void *);
171
void ifinit (void *);
172
void ipintr (void);
173
void arpintr (void);
174
void bootpc_init(void);
175
int socket (int, int, int);
176
int ioctl (int, int, ...);
177
 
178
/*
179
 * Events used by networking routines.
180
 * Everything will break if the application
181
 * tries to use these events or if the `sleep'
182
 * events are equal to any of the NETISR * events.
183
 */
184
#define SBWAIT_EVENT   RTEMS_EVENT_24
185
#define SOSLEEP_EVENT  RTEMS_EVENT_25
186
#define NETISR_IP_EVENT                (1 << NETISR_IP)
187
#define NETISR_ARP_EVENT       (1 << NETISR_ARP)
188
#define NETISR_EVENTS  (NETISR_IP_EVENT|NETISR_ARP_EVENT)
189
#if (SBWAIT_EVENT & SOSLEEP_EVENT & NETISR_EVENTS)
190
# error "Network event conflict"
191
#endif
192
 
193
#endif /* _RTEMS_BSDNET_INTERNAL_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.