RTEMS CPU Kit with SuperCore  4.11.3
librtemsNfs.h
Go to the documentation of this file.
1 
9 /*
10  * Author: Till Straumann <strauman@slac.stanford.edu> 2002-2003
11  *
12  * Authorship
13  * ----------
14  * This software (NFS-2 client implementation for RTEMS) was created by
15  * Till Straumann <strauman@slac.stanford.edu>, 2002-2007,
16  * Stanford Linear Accelerator Center, Stanford University.
17  *
18  * Acknowledgement of sponsorship
19  * ------------------------------
20  * The NFS-2 client implementation for RTEMS was produced by
21  * the Stanford Linear Accelerator Center, Stanford University,
22  * under Contract DE-AC03-76SFO0515 with the Department of Energy.
23  *
24  * Government disclaimer of liability
25  * ----------------------------------
26  * Neither the United States nor the United States Department of Energy,
27  * nor any of their employees, makes any warranty, express or implied, or
28  * assumes any legal liability or responsibility for the accuracy,
29  * completeness, or usefulness of any data, apparatus, product, or process
30  * disclosed, or represents that its use would not infringe privately owned
31  * rights.
32  *
33  * Stanford disclaimer of liability
34  * --------------------------------
35  * Stanford University makes no representations or warranties, express or
36  * implied, nor assumes any liability for the use of this software.
37  *
38  * Stanford disclaimer of copyright
39  * --------------------------------
40  * Stanford University, owner of the copyright, hereby disclaims its
41  * copyright and all other rights in this software. Hence, anyone may
42  * freely use it for any purpose without restriction.
43  *
44  * Maintenance of notices
45  * ----------------------
46  * In the interest of clarity regarding the origin and status of this
47  * SLAC software, this and all the preceding Stanford University notices
48  * are to remain affixed to any copy or derivative of this software made
49  * or distributed by the recipient and are to be affixed to any copy of
50  * software made or distributed by the recipient that contains a copy or
51  * derivative of this software.
52  *
53  * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
54  */
55 
56 #ifndef LIB_RTEMS_NFS_CLIENT_H
57 #define LIB_RTEMS_NFS_CLIENT_H
58 
66 #ifdef HAVE_CONFIG_H
67 #include <config.h>
68 #endif
69 
70 #include <rtems.h>
71 #include <rtems/libio.h>
72 #include <rtems/libio_.h>
73 #include <rtems/seterr.h>
74 #include <string.h>
75 #include <stdio.h>
76 #include <stdlib.h>
77 #include <assert.h>
78 #include <sys/stat.h>
79 #include <dirent.h>
80 #include <netdb.h>
81 #include <ctype.h>
82 #include <netinet/in.h>
83 #include <arpa/inet.h>
84 
85 #ifdef __cplusplus
86 extern "C" {
87 #endif
88 
100 
101 #ifdef RTEMS_SMP
102 
106 extern const cpu_set_t *rpciodCpuset;
107 extern size_t rpciodCpusetSize;
108 #endif
109 
125 void
126 rpcSetXIDs(uint32_t xid);
127 
134 int
135 rpcUdpInit(void);
136 
142 int
143 rpcUdpCleanup(void);
144 
169 int
170 nfsInit(int smallPoolDepth, int bigPoolDepth);
171 
177 int
178 nfsCleanup(void);
179 
186 int
187 nfsMountsShow(FILE *f);
188 
194 int
196  const void *data);
197 
212 
222 int
223 nfsSetTimeout(uint32_t timeout_ms);
224 
226 uint32_t
227 nfsGetTimeout(void);
228 
229 #ifdef __cplusplus
230 }
231 #endif
232 
234 #endif
rtems_task_priority rpciodPriority
RPCIO driver interface.
Definition: rpcio.c:410
int nfsCleanup(void)
Driver cleanup code.
Definition: nfs.c:1111
Basic IO API.
Data which Ease the Burden of Consistently Setting Errno.
int rtems_nfs_initialize(rtems_filesystem_mount_table_entry_t *mt_entry, const void *data)
Filesystem mount table mount handler.
Definition: nfs.c:1792
int nfsInit(int smallPoolDepth, int bigPoolDepth)
NFS driver interface.
Definition: nfs.c:1010
int rpcUdpInit(void)
Initialize the driver.
Definition: rpcio.c:953
rtems_status_code rtems_filesystem_resolve_location(char *buf, int len, rtems_filesystem_location_info_t *loc)
A utility routine to find the path leading to a rtems_filesystem_location_info_t node.
Definition: nfs.c:3153
int nfsMountsShow(FILE *f)
Dump a list of the currently mounted NFS to a file.
Definition: nfs.c:2969
Priority_Control rtems_task_priority
Define the type for an RTEMS API task priority.
Definition: tasks.h:79
rtems_status_code
Classic API Status.
Definition: status.h:46
void rpcSetXIDs(uint32_t xid)
Sets the XIDs of the RPC transaction hash table.
Definition: rpcio.c:941
int nfsSetTimeout(uint32_t timeout_ms)
Set the timeout (initial default: 10s) for NFS and mount calls.
Definition: nfs.c:3209
Mount table entry.
Definition: libio.h:1542
LibIO Internal Interface.
uint32_t nfsGetTimeout(void)
Read current timeout (in milliseconds)
Definition: nfs.c:3231
int rpcUdpCleanup(void)
RPC cleanup and stop.
Definition: rpcio.c:1021
File system location.
Definition: fs.h:53