/alps/ipecamera

To get this branch, use:
bzr branch http://suren.me/webbzr/alps/ipecamera

« back to all changes in this revision

Viewing changes to default.c

  • Committer: Suren A. Chilingaryan
  • Date: 2015-04-27 00:28:57 UTC
  • Revision ID: csa@suren.me-20150427002857-82fk6r3e8rfgy4wr
First stand-alone ipecamera implementation

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <sys/time.h>
2
 
#include <arpa/inet.h>
3
 
#include <assert.h>
4
 
 
5
 
#include "tools.h"
6
 
#include "default.h"
7
 
#include "error.h"
8
 
 
9
 
#define default_datacpy(dst, src, access, bank)   pcilib_datacpy(dst, src, access, 1, bank->raw_endianess)
10
 
 
11
 
int pcilib_default_read(pcilib_t *ctx, pcilib_register_bank_description_t *bank, pcilib_register_addr_t addr, pcilib_register_value_t *value) {
12
 
    char *ptr;
13
 
    pcilib_register_value_t val = 0;
14
 
    int access = bank->access / 8;
15
 
 
16
 
    ptr =  pcilib_resolve_register_address(ctx, bank->bar, bank->read_addr + addr);
17
 
    default_datacpy(&val, ptr, access, bank);
18
 
 
19
 
//    *value = val&BIT_MASK(bits);
20
 
    *value = val;
21
 
 
22
 
    return 0;
23
 
}
24
 
 
25
 
 
26
 
int pcilib_default_write(pcilib_t *ctx, pcilib_register_bank_description_t *bank, pcilib_register_addr_t addr, pcilib_register_value_t value) {
27
 
    char *ptr;
28
 
    int access = bank->access / 8;
29
 
 
30
 
    ptr =  pcilib_resolve_register_address(ctx, bank->bar, bank->write_addr + addr);
31
 
    default_datacpy(ptr, &value, access, bank);
32
 
 
33
 
    return 0;
34
 
}