Exemplo n.º 1
0
static unsigned int writefile(struct service_backend *backend, struct service_state *state, void *buffer, unsigned int count, unsigned int offset, unsigned int id, struct cpio_header *header)
{

    unsigned int s = cpio_filesize(header) - offset;
    unsigned int o = id + cpio_filedata(header) + offset;

    return backend->write(state, buffer, (count > s) ? s : count, o);

}
Exemplo n.º 2
0
static unsigned int readfile(struct service_backend *backend, void *buffer, unsigned int count, unsigned int offset, unsigned int id, struct cpio_header *header)
{

    unsigned int s = cpio_filesize(header) - offset;
    unsigned int o = cpio_filedata(header, id) + offset;

    return backend->read(buffer, (count > s) ? s : count, o);

}
Exemplo n.º 3
0
static unsigned int protocol_map(struct service_backend *backend, struct service_state *state, unsigned int id)
{

    struct cpio_header *header = mapheader(backend, state, id);

    if (!header)
        return 0;

    return backend->map(state, id + cpio_filedata(header), cpio_filesize(header));

}
Exemplo n.º 4
0
static unsigned long protocol_map(struct service_backend *backend, struct service_state *state)
{

    struct cpio_header header;

    if (!readheader(backend, &header, state->id))
        return 0;

    return backend->map(cpio_filedata(&header, state->id), cpio_filesize(&header));

}