View Raw SPL
/* low level series info */
seriesinfo(s)
{
        local obj;

        if (argc < 1)
        {
                if (winstatus(w0, 4) > 0)
                {
                        s = refseries(w0);
                }
                else
                {
                        s = "";
                }
        }

        if (isarray(s))
        {
                if (seriesstatus(s, 1) != 0)
                {
                        obj.file_num = sprintf("CH_%04d.PI", seriesstatus(s, 1));
                }
                else
                {
                        obj.file_num = 0;
                }

                switch (seriesstatus(s, 2))
                {
                        case 13:
                                obj.file_type = "TEMPCHAN";
                                break;

                        case 10:
                                obj.file_type = "PERM";
                                break;

                        case -4:
                                obj.file_type = "NOFILE";
                                break;

                        default:
                                obj.file_type = seriesstatus(s, 2);
                                break;
                }

                obj.rw_mode      = seriesstatus(s, 3);
                obj.link_count   = seriesstatus(s, 4);
                obj.varcnt       = seriesstatus(s, 5) - 1;
                obj.refcnt       = seriesstatus(s, 6);
                obj.linkcnt      = seriesstatus(s, 7);
                obj.wincnt       = seriesstatus(s, 8);
                obj.onefile      = seriesstatus(s, 9);
                obj.first_point  = seriesstatus(s, 10);
                obj.filereg      = seriesstatus(s, 11);
                obj.xy_monotonic = seriesstatus(s, 12);
                obj.signal_type  = seriesstatus(s, 13) == 0 ? "TEMPSIGNAL" : "PERMSIGNAL";

                obj.length       = seriesstatus(s, -1);
                obj.bufsize      = getbufsize(s);

                return(obj);
        }
        else
        {
                error(sprintf("%s - series required", __FUNC__));
        }
}