diff --git a/src/common/qsw.c b/src/common/qsw.c index 70770b4cc9441ddfc8ffe2cf0ca3a082b5280b7a..094ed261ef3c58db7fc8d6e84cefa0942ff71529 100644 --- a/src/common/qsw.c +++ b/src/common/qsw.c @@ -875,6 +875,25 @@ _print_capbitmap(FILE *fp, ELAN_CAPABILITY *cap) } #endif /* !_USE_ELAN3_CAPABILITY_STRING */ +char * +qsw_capability_string(struct qsw_jobinfo *j, char *buf, size_t size) +{ + ELAN_CAPABILITY *cap; + int len; + + assert(buf != NULL); + assert(j->j_magic == QSW_JOBINFO_MAGIC); + + cap = &j->j_cap; + + snprintf(buf, size, "prg=%d ctx=%x.%x nodes=%d.%d entries=%d", + j->j_prognum, cap->LowContext, cap->HighContext, + cap->LowNode, cap->HighNode, + cap->Entries); + + return buf; +} + void qsw_print_jobinfo(FILE *fp, struct qsw_jobinfo *jobinfo) { diff --git a/src/common/qsw.h b/src/common/qsw.h index d3d13fed81e6747335500cc5e4c5307cdd8c03ea..b2b391a1d3649a782ab848a655218f8b976937e4 100644 --- a/src/common/qsw.h +++ b/src/common/qsw.h @@ -81,6 +81,7 @@ int qsw_getnodeid(void); int qsw_getnodeid_byhost(char *host); int qsw_gethost_bynodeid(char *host, int len, int elanid); +char * qsw_capability_string(qsw_jobinfo_t j, char *buf, size_t len); void qsw_print_jobinfo(FILE *fp, struct qsw_jobinfo *jobinfo); #endif /* _QSW_INCLUDED */