static void displayShareRes(int argc, char **argv, int index) { struct lsbSharedResourceInfo *lsbResourceInfo; int numRes = 0; char **resourceNames = NULL, **resources = NULL; char fname[]="displayShareRes"; if (argc > index) { if ((resourceNames = (char **) malloc ((argc - index) * sizeof (char *))) == NULL) { char i18nBuf[100]; sprintf ( i18nBuf,I18N_FUNC_FAIL,fname,"malloc"); perror( i18nBuf ); exit (-1); } numRes = getResourceNames (argc, argv, index, resourceNames); } if (numRes > 0) resources = resourceNames; TIMEIT(0, (lsbResourceInfo = lsb_sharedresourceinfo (resources, &numRes, NULL, 0)), "lsb_sharedresourceinfo"); if (lsbResourceInfo == NULL) { if (lsberrno == LSBE_BAD_RESOURCE && resources) lsb_perror(NULL); else lsb_perror("lsb_sharedresourceinfo"); exit(-1); } prtResourcesShort(numRes, lsbResourceInfo); FREEUP(resourceNames); }
void displayShareResource (int argc, char **argv, int index, int flag, int extflag) { int i, j, k, numRes = 0; struct lsSharedResourceInfo *lsResourceInfo; struct lsInfo *lsInfo; char **resources = NULL, **resourceNames = NULL; int firstFlag = 1; if ((lsInfo = ls_info ()) == NULL) { ls_perror ("lsinfo"); exit (-10); } if (argc > index) { if ((resourceNames = (char **) malloc ((argc - index) * sizeof (char *))) == NULL) { lserrno = LSE_MALLOC; ls_perror ("lshosts"); exit (-1); } numRes = getResourceNames (argc, argv, index, resourceNames); } if (numRes > 0) resources = resourceNames; TIMEIT (0, (lsResourceInfo = ls_sharedresourceinfo (resources, &numRes, NULL, 0)), "ls_sharedresourceinfo"); if (lsResourceInfo == NULL) { ls_perror ("ls_sharedresourceinfo"); exit (-1); } for (k = 0; k < numRes; k++) { for (i = 0; i < lsResourceInfo[k].nInstances; i++) { for (j = 0; j < lsInfo->nRes; j++) { if (!extflag) if (lsInfo->resTable[j].flags & RESF_EXTERNAL) continue; if (strcmp (lsInfo->resTable[j].name, lsResourceInfo[k].resourceName) == 0) { if (flag == TRUE) { if (!(lsInfo->resTable[j].flags & RESF_DYNAMIC)) { if (firstFlag) { firstFlag = 0; prtTableHeader (); } prtOneInstance (lsResourceInfo[k].resourceName, &(lsResourceInfo[k].instances[i])); } } else { if (lsInfo->resTable[j].flags & RESF_DYNAMIC) { if (firstFlag) { firstFlag = 0; prtTableHeader (); } prtOneInstance (lsResourceInfo[k].resourceName, &(lsResourceInfo[k].instances[i])); } } } } } } if (firstFlag) { if (flag) printf (_i18n_msg_get (ls_catd, NL_SETN, 753, "No static shared resources defined \n")); /* catgets 753 */ else printf (_i18n_msg_get (ls_catd, NL_SETN, 754, "No dynamic shared resources defined \n")); /* catgets 754 */ } FREEUP (resourceNames); }