Lines Matching refs:state

43 typedef struct State_s			/* method state			*/
59 State_t* state;
61 if (ar && (state = (State_t*)ar->data))
62 free(state);
74 State_t* state;
84 if (!(state = newof(0, State_t, 1, 0)))
86 ar->data = (void*)state;
87 state->swap = swap;
88 state->offset = MAGIC_SIZE;
100 State_t* state = (State_t*)ar->data;
103 state->current = state->offset;
104 if (lseek(ar->fd, state->offset, SEEK_SET) != state->offset)
109 if (read(ar->fd, (char*)&state->header, sizeof(state->header)) != sizeof(state->header))
111 if ((z = read(ar->fd, (char*)&state->header, 1)) < 0)
118 strncpy(ar->dirent.name = state->name, state->header.ar_name, sizeof(state->header.ar_name));
119 ar->dirent.mtime = swapget(state->swap, (char*)&state->header.ar_date, sizeof(state->header.ar_date));
120 ar->dirent.uid = swapget(state->swap, (char*)&state->header.ar_uid, sizeof(state->header.ar_uid));
121 ar->dirent.gid = swapget(state->swap, (char*)&state->header.ar_gid, sizeof(state->header.ar_gid));
122 ar->dirent.mode = swapget(state->swap, (char*)&state->header.ar_mode, sizeof(state->header.ar_mode));
123 ar->dirent.offset = state->offset += sizeof(state->header);
124 ar->dirent.size = swapget(state->swap, (char*)&state->header.ar_size, sizeof(state->header.ar_size));
125 state->offset += ar->dirent.size + (ar->dirent.size & 01);
136 State_t* state = (State_t*)ar->data;
139 o = state->current + offsetof(Header_t, ar_date);
145 swapput(state->swap, (char*)&state->header.ar_date, sizeof(state->header.ar_date), (intmax_t)ent->mtime);
146 if (write(ar->fd, &state->header.ar_date, sizeof(state->header.ar_date)) != sizeof(state->header.ar_date))