chiark / gitweb /
Makefile: cleanup install targets
[elogind.git] / extras / chassis_id / table.c
index e619fa9ef32ef9dd6cf81f8c419092f423262f84..ee64ecc774f3b865a295dff61608f6d513577d5d 100644 (file)
@@ -1,20 +1,30 @@
-/* -*-c-*-: 
- **
- ** (C) 2003 Intel Corporation
- **          Atul Sabharwal <atul.sabharwal@intel.com>
- **
- ** $Id: table.c,v 1.4 2004/03/18 21:56:24 atul Exp $
- **
- ** Distributed under the terms of the GNU Public License, v2.0 or
- ** later.
- **
- ** Many parts heavily based on test-skeleton.c, by Ulrich Drepper;
- ** with his permission, they have been re-licensed GPL, and his
- ** copyright still applies on them. 
- **
+/* 
+ * table.c
+ *
+ * Copyright (C) 2004 Intel Corporation.  All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2.0 as published by the Free Software Foundation; 
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Authors: Atul Sabharwal
+ *
  */
 
 #include <stdio.h>
+#include <string.h>
+
+#include "chassis_id.h"
 
 #define TABLE_SIZE 100
 #define PROVISION_DB  "/usr/local/bin/provision.tbl"
@@ -22,7 +32,6 @@
 struct provision_record
 {
        int  id;
-       int  host_num;          //port # or adaptor number
        int  num_disks;
        int  chassis_num;
        int  slot_num;
@@ -34,7 +43,7 @@ int ptable_size;
 
 /* Initialize the provisioning table by reading the data from special file provision.tbl *
    Return error if something does not work appropriately.                                */
-int table_init()
+int table_init(void)
 {
        FILE *fp;
        char ptr[255];
@@ -50,8 +59,8 @@ int table_init()
        i = 0;
        while (!feof(fp)) {
                fgets(ptr, 80, fp);     
-               sscanf(ptr, "%d %d %d %d %d %s %s", &ptable[i].id,
-                       &ptable[i].host_num, &ptable[i].num_disks, 
+               sscanf(ptr, "%d %d %d %d %s %s", &ptable[i].id,
+                       &ptable[i].num_disks, 
                        &ptable[i].chassis_num, &ptable[i].slot_num,
                        ptable[i].serial_num, ptable[i].name);
                i++;       
@@ -64,13 +73,12 @@ int table_init()
 
 
 /* return -1 when no disk found. Otherwise return index of disk */
-int table_find_disk( char * serialnumber , int * host_num, int * chassis_num, int *slot_num)
+int table_find_disk(const char *serialnumber , int *chassis_num, int *slot_num)
 {
        int i;
 
        for (i = 0; i < ptable_size; i++) {
                if (strcmp(ptable[i].serial_num, serialnumber) == 0) {
-                       *host_num =  ptable[i].host_num;
                        *chassis_num =  ptable[i].chassis_num;
                        *slot_num = ptable[i].slot_num;
                        break;
@@ -87,11 +95,12 @@ int table_find_disk( char * serialnumber , int * host_num, int * chassis_num, in
  * so that it can create descriptive GDN for it. So, for that we need to output
  * this data to stdout.
  */
-int table_select_disk( int diskindex )
+int table_select_disk(int diskindex)
 {
        printf("%d ", ptable[diskindex].chassis_num);
        printf("%d ", ptable[diskindex].slot_num);
-       printf("%d ", ptable[diskindex].host_num);
        printf("%s ", ptable[diskindex].name);
+
+       return 0;
 }