Exemplo n.º 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;
    }
}
Exemplo n.º 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");
}
Exemplo n.º 3
0
int
onlp_sfpi_is_present(int port)
{
    return onlplib_sfp_is_present_file(sfp_get_port_status_path(port, "module_present"), /* Present */ "1\n", /* Absent */  "0\n");
}