|
|
| version 1.5, 2003/08/07 21:54:35 | version 1.6, 2004/04/22 17:56:44 |
|---|---|
| Line 53 | Line 53 |
| MALLOC_DEFINE(M_NWFSDATA, "NWFS data", "NWFS private data"); | MALLOC_DEFINE(M_NWFSDATA, "NWFS data", "NWFS private data"); |
| static void | static void |
| ncp_extract_file_info(struct nwmount *nmp, struct ncp_rq *rqp, struct nw_entry_info *target) { | ncp_extract_file_info(struct nwmount *nmp, struct ncp_rq *rqp, |
| struct nw_entry_info *target) | |
| { | |
| u_char name_len; | u_char name_len; |
| const int info_struct_size = sizeof(struct nw_entry_info) - 257; | const int info_struct_size = sizeof(struct nw_entry_info) - 257; |
| Line 68 ncp_extract_file_info(struct nwmount *nm | Line 70 ncp_extract_file_info(struct nwmount *nm |
| static void | static void |
| ncp_update_file_info(struct nwmount *nmp, struct ncp_rq *rqp, | ncp_update_file_info(struct nwmount *nmp, struct ncp_rq *rqp, |
| struct nw_entry_info *target) | struct nw_entry_info *target) |
| { | { |
| int info_struct_size = sizeof(struct nw_entry_info) - 257; | int info_struct_size = sizeof(struct nw_entry_info) - 257; |
| Line 77 ncp_update_file_info(struct nwmount *nmp | Line 79 ncp_update_file_info(struct nwmount *nmp |
| } | } |
| int | int |
| ncp_initsearch(struct vnode *dvp,struct thread *td,struct ucred *cred) | ncp_initsearch(struct vnode *dvp, struct thread *td, struct ucred *cred) |
| { | { |
| struct nwmount *nmp = VTONWFS(dvp); | struct nwmount *nmp = VTONWFS(dvp); |
| struct ncp_conn *conn = NWFSTOCONN(nmp); | struct ncp_conn *conn = NWFSTOCONN(nmp); |
| Line 103 int | Line 105 int |
| ncp_search_for_file_or_subdir(struct nwmount *nmp, | ncp_search_for_file_or_subdir(struct nwmount *nmp, |
| struct nw_search_seq *seq, | struct nw_search_seq *seq, |
| struct nw_entry_info *target, | struct nw_entry_info *target, |
| struct thread *td,struct ucred *cred) | struct thread *td, struct ucred *cred) |
| { | { |
| struct ncp_conn *conn = NWFSTOCONN(nmp); | struct ncp_conn *conn = NWFSTOCONN(nmp); |
| int error; | int error; |
| Line 132 ncp_search_for_file_or_subdir(struct nwm | Line 134 ncp_search_for_file_or_subdir(struct nwm |
| * directory. | * directory. |
| */ | */ |
| int | int |
| ncp_obtain_info(struct nwmount *nmp, u_int32_t dirent, | ncp_obtain_info(struct nwmount *nmp, u_int32_t dirent, |
| int namelen, char *path, struct nw_entry_info *target, | int namelen, char *path, struct nw_entry_info *target, |
| struct thread *td,struct ucred *cred) | struct thread *td, struct ucred *cred) |
| { | { |
| struct ncp_conn *conn=NWFSTOCONN(nmp); | struct ncp_conn *conn=NWFSTOCONN(nmp); |
| int error; | int error; |
| Line 168 ncp_obtain_info(struct nwmount *nmp, u_ | Line 170 ncp_obtain_info(struct nwmount *nmp, u_ |
| */ | */ |
| int | int |
| ncp_lookup(struct vnode *dvp, int len, char *name, struct nw_entry_info *fap, | ncp_lookup(struct vnode *dvp, int len, char *name, struct nw_entry_info *fap, |
| struct thread *td,struct ucred *cred) | struct thread *td, struct ucred *cred) |
| { | { |
| struct nwmount *nmp; | struct nwmount *nmp; |
| struct nwnode *dnp = VTONW(dvp); | struct nwnode *dnp = VTONW(dvp); |
| Line 213 ConvertToNWfromDWORD(u_int32_t sfd, ncp_ | Line 215 ConvertToNWfromDWORD(u_int32_t sfd, ncp_ |
| * entry that wants to be opened. | * entry that wants to be opened. |
| */ | */ |
| int | int |
| ncp_open_create_file_or_subdir(struct nwmount *nmp,struct vnode *dvp,int namelen, | ncp_open_create_file_or_subdir(struct nwmount *nmp, struct vnode *dvp, |
| char *name, int open_create_mode, u_int32_t create_attributes, | int namelen, char *name, int open_create_mode, |
| int desired_acc_rights, struct ncp_open_info *nop, | u_int32_t create_attributes, |
| struct thread *td,struct ucred *cred) | int desired_acc_rights, |
| struct ncp_open_info *nop, | |
| struct thread *td, struct ucred *cred) | |
| { | { |
| struct ncp_conn *conn=NWFSTOCONN(nmp); | struct ncp_conn *conn=NWFSTOCONN(nmp); |
| Line 261 ncp_open_create_file_or_subdir(struct nw | Line 265 ncp_open_create_file_or_subdir(struct nw |
| } | } |
| int | int |
| ncp_close_file(struct ncp_conn *conn, ncp_fh *fh,struct thread *td,struct ucred *cred) { | ncp_close_file(struct ncp_conn *conn, ncp_fh *fh, struct thread *td, |
| struct ucred *cred) | |
| { | |
| int error; | int error; |
| DECLARE_RQ; | DECLARE_RQ; |
| Line 274 ncp_close_file(struct ncp_conn *conn, nc | Line 280 ncp_close_file(struct ncp_conn *conn, nc |
| } | } |
| int | int |
| ncp_DeleteNSEntry(struct nwmount *nmp, u_int32_t dirent, | ncp_DeleteNSEntry(struct nwmount *nmp, u_int32_t dirent, int namelen, |
| int namelen,char *name,struct thread *td,struct ucred *cred) | char *name, struct thread *td, struct ucred *cred) |
| { | { |
| int error; | int error; |
| struct ncp_conn *conn=NWFSTOCONN(nmp); | struct ncp_conn *conn=NWFSTOCONN(nmp); |
| Line 294 ncp_DeleteNSEntry(struct nwmount *nmp, u | Line 300 ncp_DeleteNSEntry(struct nwmount *nmp, u |
| int | int |
| ncp_nsrename(struct ncp_conn *conn, int volume, int ns, int oldtype, | ncp_nsrename(struct ncp_conn *conn, int volume, int ns, int oldtype, |
| struct ncp_nlstables *nt, | struct ncp_nlstables *nt, nwdirent fdir, char *old_name, |
| nwdirent fdir, char *old_name, int oldlen, | int oldlen, nwdirent tdir, char *new_name, int newlen, |
| nwdirent tdir, char *new_name, int newlen, | struct thread *td, struct ucred *cred) |
| struct thread *td, struct ucred *cred) | |
| { | { |
| DECLARE_RQ; | DECLARE_RQ; |
| int error; | int error; |
| Line 326 ncp_nsrename(struct ncp_conn *conn, int | Line 331 ncp_nsrename(struct ncp_conn *conn, int |
| int | int |
| ncp_modify_file_or_subdir_dos_info(struct nwmount *nmp, struct vnode *vp, | ncp_modify_file_or_subdir_dos_info(struct nwmount *nmp, struct vnode *vp, |
| u_int32_t info_mask, | u_int32_t info_mask, |
| struct nw_modify_dos_info *info, | struct nw_modify_dos_info *info, |
| struct thread *td,struct ucred *cred) | struct thread *td, struct ucred *cred) |
| { | { |
| struct nwnode *np=VTONW(vp); | struct nwnode *np=VTONW(vp); |
| u_int8_t volnum = nmp->n_volume; | u_int8_t volnum = nmp->n_volume; |
| Line 351 ncp_modify_file_or_subdir_dos_info(struc | Line 356 ncp_modify_file_or_subdir_dos_info(struc |
| } | } |
| int | int |
| ncp_setattr(vp, vap, cred, td) | ncp_setattr(struct vnode *vp, struct vattr *vap, struct ucred *cred, |
| struct vnode *vp; | struct thread *td) |
| struct vattr *vap; | |
| struct ucred *cred; | |
| struct thread *td; | |
| { | { |
| struct nwmount *nmp=VTONWFS(vp); | struct nwmount *nmp=VTONWFS(vp); |
| struct nwnode *np=VTONW(vp); | struct nwnode *np=VTONW(vp); |
| Line 399 ncp_setattr(vp, vap, cred, td) | Line 401 ncp_setattr(vp, vap, cred, td) |
| } | } |
| int | int |
| ncp_get_volume_info_with_number(struct ncp_conn *conn, | ncp_get_volume_info_with_number(struct ncp_conn *conn, int n, |
| int n, struct ncp_volume_info *target, | struct ncp_volume_info *target, |
| struct thread *td,struct ucred *cred) { | struct thread *td, struct ucred *cred) |
| { | |
| int error,len; | int error,len; |
| DECLARE_RQ; | DECLARE_RQ; |
| Line 429 ncp_get_volume_info_with_number(struct n | Line 432 ncp_get_volume_info_with_number(struct n |
| int | int |
| ncp_get_namespaces(struct ncp_conn *conn, u_int32_t volume, int *nsf, | ncp_get_namespaces(struct ncp_conn *conn, u_int32_t volume, int *nsf, |
| struct thread *td,struct ucred *cred) { | struct thread *td, struct ucred *cred) |
| { | |
| int error; | int error; |
| u_int8_t ns; | u_int8_t ns; |
| u_int16_t nscnt; | u_int16_t nscnt; |
| Line 452 ncp_get_namespaces(struct ncp_conn *conn | Line 456 ncp_get_namespaces(struct ncp_conn *conn |
| int | int |
| ncp_lookup_volume(struct ncp_conn *conn, char *volname, | ncp_lookup_volume(struct ncp_conn *conn, char *volname, |
| u_char *volNum, u_int32_t *dirEnt, | u_char *volNum, u_int32_t *dirEnt, |
| struct thread *td,struct ucred *cred) | struct thread *td, struct ucred *cred) |
| { | { |
| int error; | int error; |
| DECLARE_RQ; | DECLARE_RQ; |
| Line 534 static u_short lastdtime; | Line 538 static u_short lastdtime; |
| * file timestamps. The passed in unix time is assumed to be in GMT. | * file timestamps. The passed in unix time is assumed to be in GMT. |
| */ | */ |
| void | void |
| ncp_unix2dostime(tsp, tzoff, ddp, dtp, dhp) | ncp_unix2dostime(struct timespec *tsp, int tzoff, u_int16_t *ddp, |
| struct timespec *tsp; | u_int16_t *dtp, u_int8_t *dhp) |
| int tzoff; | |
| u_int16_t *ddp; | |
| u_int16_t *dtp; | |
| u_int8_t *dhp; | |
| { | { |
| u_long t; | u_long t; |
| u_long days; | u_long days; |
| Line 615 static u_long lastseconds; | Line 615 static u_long lastseconds; |
| * not be too efficient. | * not be too efficient. |
| */ | */ |
| void | void |
| ncp_dos2unixtime(dd, dt, dh, tzoff, tsp) | ncp_dos2unixtime(u_int dd, u_int dt, u_int dh, int tzoff, struct timespec *tsp) |
| u_int dd; | |
| u_int dt; | |
| u_int dh; | |
| int tzoff; | |
| struct timespec *tsp; | |
| { | { |
| u_long seconds; | u_long seconds; |
| u_long month; | u_long month; |