| #include "asm/uaccess.h" |
| #include "linux/errno.h" |
| #include "linux/module.h" |
| |
| unsigned int arch_csum_partial(const unsigned char *buff, int len, int sum); |
| |
| unsigned int csum_partial(unsigned char *buff, int len, int sum) |
| { |
| return arch_csum_partial(buff, len, sum); |
| } |
| |
| EXPORT_SYMBOL(csum_partial); |
| |
| unsigned int csum_partial_copy_to(const unsigned char *src, |
| unsigned char __user *dst, int len, int sum, |
| int *err_ptr) |
| { |
| if(copy_to_user(dst, src, len)){ |
| *err_ptr = -EFAULT; |
| return(-1); |
| } |
| |
| return(arch_csum_partial(src, len, sum)); |
| } |
| |
| unsigned int csum_partial_copy_from(const unsigned char __user *src, |
| unsigned char *dst, int len, int sum, |
| int *err_ptr) |
| { |
| if(copy_from_user(dst, src, len)){ |
| *err_ptr = -EFAULT; |
| return(-1); |
| } |
| |
| return arch_csum_partial(dst, len, sum); |
| } |