Пример #1
0
static int NaClDescSyncSocketExternalize(struct NaClDesc          *vself,
                                         struct NaClDescXferState *xfer) {
  struct NaClDescSyncSocket *self = ((struct NaClDescSyncSocket *) vself);
  int rv;

  NaClLog(4, "Entered NaClDescSyncSocketExternalize\n");
  rv = NaClDescExternalize(vself, xfer);
  if (0 != rv) {
    return rv;
  }
  *xfer->next_handle++ = self->h;
  return 0;
}
Пример #2
0
static int NaClDescImcShmExternalize(struct NaClDesc           *vself,
                                     struct NaClDescXferState  *xfer) {
  struct NaClDescImcShm  *self = (struct NaClDescImcShm *) vself;
  int rv;

  rv = NaClDescExternalize(vself, xfer);
  if (0 != rv) {
    return rv;
  }
  *xfer->next_handle++ = self->h;
  memcpy(xfer->next_byte, &self->size, sizeof self->size);
  xfer->next_byte += sizeof self->size;
  return 0;
}
Пример #3
0
static int NaClDescConnCapFdExternalize(struct NaClDesc          *vself,
                                        struct NaClDescXferState *xfer) {
    struct NaClDescConnCapFd    *self;
    int rv;

    rv = NaClDescExternalize(vself, xfer);
    if (0 != rv) {
        return rv;
    }
    self = (struct NaClDescConnCapFd *) vself;
    *xfer->next_handle++ = self->connect_fd;

    return 0;
}
static int NaClDescConnCapExternalize(struct NaClDesc          *vself,
                                      struct NaClDescXferState *xfer) {
  struct NaClDescConnCap *self;
  int rv;

  rv = NaClDescExternalize(vself, xfer);
  if (0 != rv) {
    return rv;
  }
  self = (struct NaClDescConnCap *) vself;
  memcpy(xfer->next_byte, self->cap.path, NACL_PATH_MAX);
  xfer->next_byte += NACL_PATH_MAX;

  return 0;
}
Пример #5
0
static int NaClDescIoDescExternalize(struct NaClDesc           *vself,
                                     struct NaClDescXferState  *xfer) {
  struct NaClDescIoDesc *self = (struct NaClDescIoDesc *) vself;
  int rv;
#if NACL_WINDOWS
  HANDLE  h;
#endif

  rv = NaClDescExternalize(vself, xfer);
  if (0 != rv) {
    return rv;
  }

  memcpy(xfer->next_byte, &self->hd->flags, sizeof self->hd->flags);
  xfer->next_byte += sizeof self->hd->flags;
#if NACL_WINDOWS
  h = (HANDLE) _get_osfhandle(self->hd->d);
  *xfer->next_handle++ = (NaClHandle) h;
#else
  *xfer->next_handle++ = self->hd->d;
#endif
  return 0;
}