diff options
Diffstat (limited to 'fs/afs/internal.h')
-rw-r--r-- | fs/afs/internal.h | 42 |
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 | */ | ||
352 | struct 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 | */ | ||
367 | struct 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 | */ |
467 | extern struct afs_uuid afs_uuid; | ||
433 | #ifdef AFS_CACHING_SUPPORT | 468 | #ifdef AFS_CACHING_SUPPORT |
434 | extern struct cachefs_netfs afs_cache_netfs; | 469 | extern 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 *, | |||
470 | extern void afs_flat_call_destructor(struct afs_call *); | 505 | extern void afs_flat_call_destructor(struct afs_call *); |
471 | extern void afs_transfer_reply(struct afs_call *, struct sk_buff *); | 506 | extern void afs_transfer_reply(struct afs_call *, struct sk_buff *); |
472 | extern void afs_send_empty_reply(struct afs_call *); | 507 | extern void afs_send_empty_reply(struct afs_call *); |
508 | extern void afs_send_simple_reply(struct afs_call *, const void *, size_t); | ||
473 | extern int afs_extract_data(struct afs_call *, struct sk_buff *, bool, void *, | 509 | extern 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); | |||
501 | extern void afs_fs_exit(void); | 537 | extern void afs_fs_exit(void); |
502 | 538 | ||
503 | /* | 539 | /* |
540 | * use-rtnetlink.c | ||
541 | */ | ||
542 | extern int afs_get_ipv4_interfaces(struct afs_interface *, size_t, bool); | ||
543 | extern 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 |