aboutsummaryrefslogtreecommitdiffstats
path: root/fs/afs/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/afs/internal.h')
-rw-r--r--fs/afs/internal.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 8bed2429d01f..6120d4bd19e0 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -346,6 +346,40 @@ struct afs_permits {
346 struct afs_permit permits[0]; /* the permits so far examined */ 346 struct afs_permit permits[0]; /* the permits so far examined */
347}; 347};
348 348
349/*
350 * record of one of a system's set of network interfaces
351 */
352struct afs_interface {
353 unsigned index; /* interface index */
354 struct in_addr address; /* IPv4 address bound to interface */
355 struct in_addr netmask; /* netmask applied to address */
356 unsigned mtu; /* MTU of interface */
357};
358
359/*
360 * UUID definition [internet draft]
361 * - the timestamp is a 60-bit value, split 32/16/12, and goes in 100ns
362 * increments since midnight 15th October 1582
363 * - add AFS_UUID_TO_UNIX_TIME to convert unix time in 100ns units to UUID
364 * time
365 * - the clock sequence is a 14-bit counter to avoid duplicate times
366 */
367struct afs_uuid {
368 u32 time_low; /* low part of timestamp */
369 u16 time_mid; /* mid part of timestamp */
370 u16 time_hi_and_version; /* high part of timestamp and version */
371#define AFS_UUID_TO_UNIX_TIME 0x01b21dd213814000
372#define AFS_UUID_TIMEHI_MASK 0x0fff
373#define AFS_UUID_VERSION_TIME 0x1000 /* time-based UUID */
374#define AFS_UUID_VERSION_NAME 0x3000 /* name-based UUID */
375#define AFS_UUID_VERSION_RANDOM 0x4000 /* (pseudo-)random generated UUID */
376 u8 clock_seq_hi_and_reserved; /* clock seq hi and variant */
377#define AFS_UUID_CLOCKHI_MASK 0x3f
378#define AFS_UUID_VARIANT_STD 0x80
379 u8 clock_seq_low; /* clock seq low */
380 u8 node[6]; /* spatially unique node ID (MAC addr) */
381};
382
349/*****************************************************************************/ 383/*****************************************************************************/
350/* 384/*
351 * callback.c 385 * callback.c
@@ -430,6 +464,7 @@ extern void afs_clear_inode(struct inode *);
430/* 464/*
431 * main.c 465 * main.c
432 */ 466 */
467extern struct afs_uuid afs_uuid;
433#ifdef AFS_CACHING_SUPPORT 468#ifdef AFS_CACHING_SUPPORT
434extern struct cachefs_netfs afs_cache_netfs; 469extern struct cachefs_netfs afs_cache_netfs;
435#endif 470#endif
@@ -470,6 +505,7 @@ extern struct afs_call *afs_alloc_flat_call(const struct afs_call_type *,
470extern void afs_flat_call_destructor(struct afs_call *); 505extern void afs_flat_call_destructor(struct afs_call *);
471extern void afs_transfer_reply(struct afs_call *, struct sk_buff *); 506extern void afs_transfer_reply(struct afs_call *, struct sk_buff *);
472extern void afs_send_empty_reply(struct afs_call *); 507extern void afs_send_empty_reply(struct afs_call *);
508extern void afs_send_simple_reply(struct afs_call *, const void *, size_t);
473extern int afs_extract_data(struct afs_call *, struct sk_buff *, bool, void *, 509extern int afs_extract_data(struct afs_call *, struct sk_buff *, bool, void *,
474 size_t); 510 size_t);
475 511
@@ -501,6 +537,12 @@ extern int afs_fs_init(void);
501extern void afs_fs_exit(void); 537extern void afs_fs_exit(void);
502 538
503/* 539/*
540 * use-rtnetlink.c
541 */
542extern int afs_get_ipv4_interfaces(struct afs_interface *, size_t, bool);
543extern int afs_get_MAC_address(u8 [6]);
544
545/*
504 * vlclient.c 546 * vlclient.c
505 */ 547 */
506#ifdef AFS_CACHING_SUPPORT 548#ifdef AFS_CACHING_SUPPORT