Lines Matching refs:ftp
33 ssize_t (*transfer)(const struct hmcdrv_ftp_cmdspec *ftp,
38 static int hmcdrv_ftp_parse(char *cmd, struct hmcdrv_ftp_cmdspec *ftp);
111 static int hmcdrv_ftp_parse(char *cmd, struct hmcdrv_ftp_cmdspec *ftp) in hmcdrv_ftp_parse() argument
116 ftp->id = HMCDRV_FTP_NOOP; in hmcdrv_ftp_parse()
117 ftp->fname = NULL; in hmcdrv_ftp_parse()
133 ftp->id = hmcdrv_ftp_cmd_getid(start, cmd - start); in hmcdrv_ftp_parse()
138 ftp->fname = start; in hmcdrv_ftp_parse()
148 if (!ftp->fname || (ftp->id == HMCDRV_FTP_NOOP)) in hmcdrv_ftp_parse()
160 ssize_t hmcdrv_ftp_do(const struct hmcdrv_ftp_cmdspec *ftp) in hmcdrv_ftp_do() argument
168 ftp->id, ftp->fname, (long long) ftp->ofs, ftp->len); in hmcdrv_ftp_do()
169 len = hmcdrv_cache_cmd(ftp, hmcdrv_ftp_funcs->transfer); in hmcdrv_ftp_do()
188 struct hmcdrv_ftp_cmdspec ftp = { in hmcdrv_ftp_probe() local
195 ftp.buf = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in hmcdrv_ftp_probe()
197 if (!ftp.buf) in hmcdrv_ftp_probe()
205 rc = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_probe()
219 free_page((unsigned long) ftp.buf); in hmcdrv_ftp_probe()
241 struct hmcdrv_ftp_cmdspec ftp = {.len = len, .ofs = offset}; in hmcdrv_ftp_cmd() local
242 ssize_t retlen = hmcdrv_ftp_parse(cmd, &ftp); in hmcdrv_ftp_cmd()
247 order = get_order(ftp.len); in hmcdrv_ftp_cmd()
248 ftp.buf = (void *) __get_free_pages(GFP_KERNEL | GFP_DMA, order); in hmcdrv_ftp_cmd()
250 if (!ftp.buf) in hmcdrv_ftp_cmd()
253 switch (ftp.id) { in hmcdrv_ftp_cmd()
257 retlen = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_cmd()
260 copy_to_user(buf, ftp.buf, retlen)) in hmcdrv_ftp_cmd()
266 if (!copy_from_user(ftp.buf, buf, ftp.len)) in hmcdrv_ftp_cmd()
267 retlen = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_cmd()
273 retlen = hmcdrv_ftp_do(&ftp); in hmcdrv_ftp_cmd()
281 free_pages((unsigned long) ftp.buf, order); in hmcdrv_ftp_cmd()