diff options
Diffstat (limited to 'fs/cifs/netmisc.c')
-rw-r--r-- | fs/cifs/netmisc.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/fs/cifs/netmisc.c b/fs/cifs/netmisc.c index d35d52889cb5..c6721ee26dbc 100644 --- a/fs/cifs/netmisc.c +++ b/fs/cifs/netmisc.c | |||
@@ -61,6 +61,7 @@ static const struct smb_to_posix_error mapping_table_ERRDOS[] = { | |||
61 | {ERRremcd, -EACCES}, | 61 | {ERRremcd, -EACCES}, |
62 | {ERRdiffdevice, -EXDEV}, | 62 | {ERRdiffdevice, -EXDEV}, |
63 | {ERRnofiles, -ENOENT}, | 63 | {ERRnofiles, -ENOENT}, |
64 | {ERRwriteprot, -EROFS}, | ||
64 | {ERRbadshare, -ETXTBSY}, | 65 | {ERRbadshare, -ETXTBSY}, |
65 | {ERRlock, -EACCES}, | 66 | {ERRlock, -EACCES}, |
66 | {ERRunsup, -EINVAL}, | 67 | {ERRunsup, -EINVAL}, |
@@ -164,7 +165,7 @@ cifs_inet_pton(const int address_family, const char *cp, void *dst) | |||
164 | * Returns 0 on failure. | 165 | * Returns 0 on failure. |
165 | */ | 166 | */ |
166 | int | 167 | int |
167 | cifs_convert_address(char *src, void *dst) | 168 | cifs_convert_address(struct sockaddr *dst, char *src) |
168 | { | 169 | { |
169 | int rc; | 170 | int rc; |
170 | char *pct, *endp; | 171 | char *pct, *endp; |
@@ -201,6 +202,27 @@ cifs_convert_address(char *src, void *dst) | |||
201 | return rc; | 202 | return rc; |
202 | } | 203 | } |
203 | 204 | ||
205 | int | ||
206 | cifs_fill_sockaddr(struct sockaddr *dst, char *src, | ||
207 | const unsigned short int port) | ||
208 | { | ||
209 | if (!cifs_convert_address(dst, src)) | ||
210 | return 0; | ||
211 | |||
212 | switch (dst->sa_family) { | ||
213 | case AF_INET: | ||
214 | ((struct sockaddr_in *)dst)->sin_port = htons(port); | ||
215 | break; | ||
216 | case AF_INET6: | ||
217 | ((struct sockaddr_in6 *)dst)->sin6_port = htons(port); | ||
218 | break; | ||
219 | default: | ||
220 | return 0; | ||
221 | } | ||
222 | |||
223 | return 1; | ||
224 | } | ||
225 | |||
204 | /***************************************************************************** | 226 | /***************************************************************************** |
205 | convert a NT status code to a dos class/code | 227 | convert a NT status code to a dos class/code |
206 | *****************************************************************************/ | 228 | *****************************************************************************/ |