]> Pileus Git - ~andy/linux/blobdiff - fs/nfs/internal.h
nfs: prepare to share nfs_set_port
[~andy/linux] / fs / nfs / internal.h
index 7bcf6ec2d458242189d8b380ac20f7293e781978..8d91bd88e3109e62416e23553d6b57e7be220400 100644 (file)
@@ -276,3 +276,23 @@ unsigned int nfs_page_array_len(unsigned int base, size_t len)
                PAGE_SIZE - 1) >> PAGE_SHIFT;
 }
 
+
+/*
+ * Set the port number in an address.  Be agnostic about the address
+ * family.
+ */
+static inline void nfs_set_port(struct sockaddr *sap, unsigned short port)
+{
+       switch (sap->sa_family) {
+       case AF_INET: {
+             struct sockaddr_in *ap = (struct sockaddr_in *)sap;
+             ap->sin_port = htons(port);
+             break;
+       }
+       case AF_INET6: {
+              struct sockaddr_in6 *ap = (struct sockaddr_in6 *)sap;
+              ap->sin6_port = htons(port);
+              break;
+       }
+       }
+}