ACIL FM
Dark
Refresh
Current DIR:
/usr/src/kernels/5.14.0-427.31.1.el9_4.x86_64/include/linux/sunrpc
/
usr
src
kernels
5.14.0-427.31.1.el9_4.x86_64
include
linux
sunrpc
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
addr.h
4.94 MB
chmod
View
DL
Edit
Rename
Delete
auth.h
6.11 MB
chmod
View
DL
Edit
Rename
Delete
auth_gss.h
2.31 MB
chmod
View
DL
Edit
Rename
Delete
bc_xprt.h
2.78 MB
chmod
View
DL
Edit
Rename
Delete
cache.h
8.96 MB
chmod
View
DL
Edit
Rename
Delete
clnt.h
9.01 MB
chmod
View
DL
Edit
Rename
Delete
debug.h
2.76 MB
chmod
View
DL
Edit
Rename
Delete
gss_api.h
4.45 MB
chmod
View
DL
Edit
Rename
Delete
gss_asn1.h
3.11 MB
chmod
View
DL
Edit
Rename
Delete
gss_err.h
5.88 MB
chmod
View
DL
Edit
Rename
Delete
gss_krb5.h
6.32 MB
chmod
View
DL
Edit
Rename
Delete
metrics.h
3.68 MB
chmod
View
DL
Edit
Rename
Delete
msg_prot.h
6.21 MB
chmod
View
DL
Edit
Rename
Delete
rpc_pipe_fs.h
3.85 MB
chmod
View
DL
Edit
Rename
Delete
rpc_rdma.h
6.07 MB
chmod
View
DL
Edit
Rename
Delete
rpc_rdma_cid.h
622 B
chmod
View
DL
Edit
Rename
Delete
sched.h
9.91 MB
chmod
View
DL
Edit
Rename
Delete
stats.h
2 MB
chmod
View
DL
Edit
Rename
Delete
svc.h
18.39 MB
chmod
View
DL
Edit
Rename
Delete
svcauth.h
6.01 MB
chmod
View
DL
Edit
Rename
Delete
svcauth_gss.h
782 B
chmod
View
DL
Edit
Rename
Delete
svcsock.h
2.18 MB
chmod
View
DL
Edit
Rename
Delete
svc_rdma.h
7.63 MB
chmod
View
DL
Edit
Rename
Delete
svc_rdma_pcl.h
3.13 MB
chmod
View
DL
Edit
Rename
Delete
svc_xprt.h
7.33 MB
chmod
View
DL
Edit
Rename
Delete
timer.h
1.14 MB
chmod
View
DL
Edit
Rename
Delete
types.h
497 B
chmod
View
DL
Edit
Rename
Delete
xdr.h
22.31 MB
chmod
View
DL
Edit
Rename
Delete
xprt.h
16.56 MB
chmod
View
DL
Edit
Rename
Delete
xprtmultipath.h
2.41 MB
chmod
View
DL
Edit
Rename
Delete
xprtrdma.h
2.95 MB
chmod
View
DL
Edit
Rename
Delete
xprtsock.h
1.85 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/src/kernels/5.14.0-427.31.1.el9_4.x86_64/include/linux/sunrpc/addr.h
/* SPDX-License-Identifier: GPL-2.0 */ /* * linux/include/linux/sunrpc/addr.h * * Various routines for copying and comparing sockaddrs and for * converting them to and from presentation format. */ #ifndef _LINUX_SUNRPC_ADDR_H #define _LINUX_SUNRPC_ADDR_H #include <linux/socket.h> #include <linux/in.h> #include <linux/in6.h> #include <net/ipv6.h> size_t rpc_ntop(const struct sockaddr *, char *, const size_t); size_t rpc_pton(struct net *, const char *, const size_t, struct sockaddr *, const size_t); char * rpc_sockaddr2uaddr(const struct sockaddr *, gfp_t); size_t rpc_uaddr2sockaddr(struct net *, const char *, const size_t, struct sockaddr *, const size_t); static inline unsigned short rpc_get_port(const struct sockaddr *sap) { switch (sap->sa_family) { case AF_INET: return ntohs(((struct sockaddr_in *)sap)->sin_port); case AF_INET6: return ntohs(((struct sockaddr_in6 *)sap)->sin6_port); } return 0; } static inline void rpc_set_port(struct sockaddr *sap, const unsigned short port) { switch (sap->sa_family) { case AF_INET: ((struct sockaddr_in *)sap)->sin_port = htons(port); break; case AF_INET6: ((struct sockaddr_in6 *)sap)->sin6_port = htons(port); break; } } #define IPV6_SCOPE_DELIMITER '%' #define IPV6_SCOPE_ID_LEN sizeof("%nnnnnnnnnn") static inline bool rpc_cmp_addr4(const struct sockaddr *sap1, const struct sockaddr *sap2) { const struct sockaddr_in *sin1 = (const struct sockaddr_in *)sap1; const struct sockaddr_in *sin2 = (const struct sockaddr_in *)sap2; return sin1->sin_addr.s_addr == sin2->sin_addr.s_addr; } static inline bool __rpc_copy_addr4(struct sockaddr *dst, const struct sockaddr *src) { const struct sockaddr_in *ssin = (struct sockaddr_in *) src; struct sockaddr_in *dsin = (struct sockaddr_in *) dst; dsin->sin_family = ssin->sin_family; dsin->sin_addr.s_addr = ssin->sin_addr.s_addr; return true; } #if IS_ENABLED(CONFIG_IPV6) static inline bool rpc_cmp_addr6(const struct sockaddr *sap1, const struct sockaddr *sap2) { const struct sockaddr_in6 *sin1 = (const struct sockaddr_in6 *)sap1; const struct sockaddr_in6 *sin2 = (const struct sockaddr_in6 *)sap2; if (!ipv6_addr_equal(&sin1->sin6_addr, &sin2->sin6_addr)) return false; else if (ipv6_addr_type(&sin1->sin6_addr) & IPV6_ADDR_LINKLOCAL) return sin1->sin6_scope_id == sin2->sin6_scope_id; return true; } static inline bool __rpc_copy_addr6(struct sockaddr *dst, const struct sockaddr *src) { const struct sockaddr_in6 *ssin6 = (const struct sockaddr_in6 *) src; struct sockaddr_in6 *dsin6 = (struct sockaddr_in6 *) dst; dsin6->sin6_family = ssin6->sin6_family; dsin6->sin6_addr = ssin6->sin6_addr; dsin6->sin6_scope_id = ssin6->sin6_scope_id; return true; } #else /* !(IS_ENABLED(CONFIG_IPV6) */ static inline bool rpc_cmp_addr6(const struct sockaddr *sap1, const struct sockaddr *sap2) { return false; } static inline bool __rpc_copy_addr6(struct sockaddr *dst, const struct sockaddr *src) { return false; } #endif /* !(IS_ENABLED(CONFIG_IPV6) */ /** * rpc_cmp_addr - compare the address portion of two sockaddrs. * @sap1: first sockaddr * @sap2: second sockaddr * * Just compares the family and address portion. Ignores port, but * compares the scope if it's a link-local address. * * Returns true if the addrs are equal, false if they aren't. */ static inline bool rpc_cmp_addr(const struct sockaddr *sap1, const struct sockaddr *sap2) { if (sap1->sa_family == sap2->sa_family) { switch (sap1->sa_family) { case AF_INET: return rpc_cmp_addr4(sap1, sap2); case AF_INET6: return rpc_cmp_addr6(sap1, sap2); } } return false; } /** * rpc_cmp_addr_port - compare the address and port number of two sockaddrs. * @sap1: first sockaddr * @sap2: second sockaddr */ static inline bool rpc_cmp_addr_port(const struct sockaddr *sap1, const struct sockaddr *sap2) { if (!rpc_cmp_addr(sap1, sap2)) return false; return rpc_get_port(sap1) == rpc_get_port(sap2); } /** * rpc_copy_addr - copy the address portion of one sockaddr to another * @dst: destination sockaddr * @src: source sockaddr * * Just copies the address portion and family. Ignores port, scope, etc. * Caller is responsible for making certain that dst is large enough to hold * the address in src. Returns true if address family is supported. Returns * false otherwise. */ static inline bool rpc_copy_addr(struct sockaddr *dst, const struct sockaddr *src) { switch (src->sa_family) { case AF_INET: return __rpc_copy_addr4(dst, src); case AF_INET6: return __rpc_copy_addr6(dst, src); } return false; } /** * rpc_get_scope_id - return scopeid for a given sockaddr * @sa: sockaddr to get scopeid from * * Returns the value of the sin6_scope_id for AF_INET6 addrs, or 0 if * not an AF_INET6 address. */ static inline u32 rpc_get_scope_id(const struct sockaddr *sa) { if (sa->sa_family != AF_INET6) return 0; return ((struct sockaddr_in6 *) sa)->sin6_scope_id; } #endif /* _LINUX_SUNRPC_ADDR_H */
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply