Lines Matching refs:fd

60 	nsc_fd_t *fd;  local
67 if (!(fd = (nsc_fd_t *)calloc(1, sizeof (nsc_fd_t))))
75 fd->sf_flag = flag;
76 fd->sf_fmode = mode;
78 strcpy(fd->sf_path, path);
80 if (!_nsc_open_path(fd)) {
81 free(fd);
85 if (ckdchk && !_nsc_open_check(fd)) {
86 (void) nsc_close(fd);
90 return (fd);
100 nsc_fd_t *fd; local
108 if (!(fd = (nsc_fd_t *)calloc(1, sizeof (nsc_fd_t))))
143 fd->sf_fd = id;
144 fd->sf_fmode = mode;
146 strcpy(fd->sf_path, path);
148 return (fd);
153 _nsc_open_path(fd) in _nsc_open_path() argument
154 nsc_fd_t *fd; in _nsc_open_path()
160 op.flag = fd->sf_flag;
161 op.mode = fd->sf_fmode;
162 strcpy(op.path, fd->sf_path);
164 if ((fd->sf_fd = open(_NSC_DEV_PATH, fd->sf_fmode)) < 0)
167 if (ioctl(fd->sf_fd, NSCIOC_OPEN, &op) == 0)
170 close(fd->sf_fd);
176 _nsc_open_check(fd) in _nsc_open_check() argument
177 nsc_fd_t *fd; in _nsc_open_check()
184 if ((fd->sf_fmode & O_ACCMODE) == O_RDONLY)
195 if (fcntl(fd->sf_fd, F_SETLKW, &lk) < 0)
202 for (i = fd->sf_fd; i <= 2 && (i = dup(i)) != -1; )
203 fd->sf_fd = i;
206 if (i != fd->sf_fd)
209 fcntl(fd->sf_fd, F_SETFD, 0);
215 (void) sprintf(s, "%d", fd->sf_fd);
218 s, fd->sf_path, 0);
228 nsc_close(fd) in nsc_close() argument
229 nsc_fd_t *fd; in nsc_close()
233 if (!fd)
236 rc = close(fd->sf_fd);
237 free(fd);
244 nsc_reserve(fd) in nsc_reserve() argument
245 nsc_fd_t *fd; in nsc_reserve()
247 return ((fd) ? ioctl(fd->sf_fd, NSCIOC_RESERVE, 0) : 0);
252 nsc_release(fd) in nsc_release() argument
253 nsc_fd_t *fd; in nsc_release()
255 if (!fd)
258 if (ckdchk && (fd->sf_fmode & O_ACCMODE) != O_RDONLY) {
263 return (ioctl(fd->sf_fd, NSCIOC_RELEASE, 0));
268 nsc_partsize(nsc_fd_t *fd, nsc_size_t *rvp) in nsc_partsize() argument
273 if (!fd) in nsc_partsize()
276 rc = ioctl(fd->sf_fd, NSCIOC_PARTSIZE, &partsize); in nsc_partsize()
287 nsc_fileno(fd) in nsc_fileno() argument
288 nsc_fd_t *fd; in nsc_fileno()
290 return ((fd) ? fd->sf_fd : -1);
306 int fd, rc, save_errno; local
308 fd = open(_NSC_DEV_PATH, O_RDONLY);
309 if (fd < 0)
313 rc = ioctl(fd, cmd, arg);
317 close(fd);