示例#1
0
int
onlp_sfpi_is_present(int port)
{
    sfpmap_t* sfp = SFP_GET(port);
    if(sfp->mod_present_gpio) {
        return onlplib_sfp_is_present_file(sfp->mod_present_gpio,
                                           /* Present */ "1\n",
                                           /* Absent */  "0\n");
    }
    else {
        /**
         * If we can open and read a byte from the EEPROM file
         * then we consider it present.
         */
        int fd = open(sfp->eeprom, O_RDONLY);
        if (fd < 0) {
            /* Not Present */
            return 0;
        }
        int rv;
        uint8_t byte;

        if(read(fd, &byte, 1) == 1) {
            /* Present */
            rv = 1;
        }
        else {
            /* No Present */
            rv = 0;
        }
        close(fd);
        return rv;
    }
}
示例#2
0
int
onlp_sfpi_is_present(int port)
{
    sfpmap_t* sfp = SFP_GET(port);

    return onlplib_sfp_is_present_file(sfp->mod_abs_gpio,
                                       /* Present */ "0\n",
                                       /* Absent */  "1\n");
}
示例#3
0
static char*
sfp_get_port_info_path(int port, char *node_name)
{
    sfpmap_t* sfp = SFP_GET(port);

    memset(sfp_node_path, 0x00, MAX_SFP_PATH);
    sprintf(sfp_node_path, sfp->port_path,
                           node_name);
    return sfp_node_path;
}
示例#4
0
int
onlp_sfpi_dom_read(int port, uint8_t data[256])
{
    sfpmap_t* sfp = SFP_GET(port);
    return onlplib_sfp_eeprom_read_file(sfp->dom, data);
}