Lines Matching refs:descriptor

36 #define GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor)	\
38 status_t getError = get_socket_descriptor(fd, kernel, descriptor); \
176 get_socket_descriptor(int fd, bool kernel, file_descriptor*& descriptor)
181 descriptor = get_fd(get_current_io_context(kernel), fd);
182 if (descriptor == NULL)
185 if (descriptor->type != FDTYPE_SOCKET) {
186 put_fd(descriptor);
194 // #pragma mark - socket file descriptor
198 socket_read(struct file_descriptor *descriptor, off_t pos, void *buffer,
201 ssize_t bytesRead = sStackInterface->recv(descriptor->u.socket, buffer,
209 socket_write(struct file_descriptor *descriptor, off_t pos, const void *buffer,
212 ssize_t bytesWritten = sStackInterface->send(descriptor->u.socket, buffer,
220 socket_ioctl(struct file_descriptor *descriptor, ulong op, void *buffer,
223 return sStackInterface->ioctl(descriptor->u.socket, op, buffer, length);
228 socket_set_flags(struct file_descriptor *descriptor, int flags)
234 return sStackInterface->ioctl(descriptor->u.socket, op, NULL, 0);
239 socket_select(struct file_descriptor *descriptor, uint8 event,
242 return sStackInterface->select(descriptor->u.socket, event, sync);
247 socket_deselect(struct file_descriptor *descriptor, uint8 event,
250 return sStackInterface->deselect(descriptor->u.socket, event, sync);
255 socket_read_stat(struct file_descriptor *descriptor, struct stat *st)
258 st->st_ino = (addr_t)descriptor->u.socket;
282 socket_close(struct file_descriptor *descriptor)
284 return sStackInterface->close(descriptor->u.socket);
289 socket_free(struct file_descriptor *descriptor)
291 sStackInterface->free(descriptor->u.socket);
325 // allocate a file descriptor
326 file_descriptor* descriptor = alloc_fd();
327 if (descriptor == NULL)
331 descriptor->type = FDTYPE_SOCKET;
332 descriptor->ops = &sSocketFDOps;
333 descriptor->u.socket = socket;
334 descriptor->open_mode = O_RDWR | (nonBlock ? O_NONBLOCK : 0);
337 int fd = new_fd(get_current_io_context(kernel), descriptor);
339 descriptor->ops = NULL;
340 put_fd(descriptor);
380 file_descriptor* descriptor;
381 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
382 FileDescriptorPutter _(descriptor);
384 return sStackInterface->bind(descriptor->u.socket, address, addressLength);
391 file_descriptor* descriptor;
392 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
393 FileDescriptorPutter _(descriptor);
395 return sStackInterface->shutdown(descriptor->u.socket, how);
403 file_descriptor* descriptor;
404 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
405 FileDescriptorPutter _(descriptor);
407 return sStackInterface->connect(descriptor->u.socket, address,
415 file_descriptor* descriptor;
416 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
417 FileDescriptorPutter _(descriptor);
419 return sStackInterface->listen(descriptor->u.socket, backlog);
427 file_descriptor* descriptor;
428 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
429 FileDescriptorPutter _(descriptor);
432 status_t error = sStackInterface->accept(descriptor->u.socket, address,
454 file_descriptor* descriptor;
455 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
456 FileDescriptorPutter _(descriptor);
458 return sStackInterface->recv(descriptor->u.socket, data, length, flags);
466 file_descriptor* descriptor;
467 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
468 FileDescriptorPutter _(descriptor);
470 return sStackInterface->recvfrom(descriptor->u.socket, data, length,
478 file_descriptor* descriptor;
479 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
480 FileDescriptorPutter _(descriptor);
482 return sStackInterface->recvmsg(descriptor->u.socket, message, flags);
489 file_descriptor* descriptor;
490 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
491 FileDescriptorPutter _(descriptor);
493 return sStackInterface->send(descriptor->u.socket, data, length, flags);
501 file_descriptor* descriptor;
502 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
503 FileDescriptorPutter _(descriptor);
505 return sStackInterface->sendto(descriptor->u.socket, data, length, flags,
513 file_descriptor* descriptor;
514 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
515 FileDescriptorPutter _(descriptor);
517 return sStackInterface->sendmsg(descriptor->u.socket, message, flags);
525 file_descriptor* descriptor;
526 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
527 FileDescriptorPutter _(descriptor);
529 return sStackInterface->getsockopt(descriptor->u.socket, level, option,
538 file_descriptor* descriptor;
539 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
540 FileDescriptorPutter _(descriptor);
542 return sStackInterface->setsockopt(descriptor->u.socket, level, option,
551 file_descriptor* descriptor;
552 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
553 FileDescriptorPutter _(descriptor);
555 return sStackInterface->getpeername(descriptor->u.socket, address,
564 file_descriptor* descriptor;
565 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
566 FileDescriptorPutter _(descriptor);
568 return sStackInterface->getsockname(descriptor->u.socket, address,
576 file_descriptor* descriptor;
577 GET_SOCKET_FD_OR_RETURN(fd, kernel, descriptor);
578 FileDescriptorPutter _(descriptor);
580 return sStackInterface->sockatmark(descriptor->u.socket);