IBASE MRS-801-RE User Manual

Page 81

Advertising
background image

Copyright © 2013 IBASE Technology Inc. All Rights Reserved.

73

IBASE Technology Inc.

if(f == NULL) {

sprintf(n, "%s/%s/device", sysfs, de->d_name);

if(!(ddir = opendir(n)))

continue;

while ((dde = readdir(ddir)) != NULL) {

if (!strcmp(dde->d_name, "."))

continue;

if (!strcmp(dde->d_name, ".."))

continue;

if ((!strncmp(dde->d_name, "i2c-", 4))) {

sprintf(n, "%s/%s/device/%s/name",

sysfs, de->d_name, dde->d_name);

if((f = fopen(n, "r")))

goto found;

}

}

}

found:

if (f != NULL) {

int i2cbus;

enum adt type;

char *px;

px = fgets(s, 120, f);

fclose(f);

if (!px) {

fprintf(stderr, "%s: read error\n", n);

continue;

}

if ((px = strchr(s, '\n')) != NULL)

*px = 0;

if (!sscanf(de->d_name, "i2c-%d", &i2cbus))

continue;

if (!strncmp(s, "ISA ", 4)) {

type = adt_isa;

} else {

/* Attempt to probe for adapter capabilities */

Advertising