Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 282455 | Differences between
and this patch

Collapse All | Expand All

(-)file_not_specified_in_diff (-147 / +241 lines)
Line  Link Here
0
-- raidutils-0.0.6.orig/lib/engmsg.c
0
++ raidutils-0.0.6/lib/engmsg.c
Lines 152-158 Link Here
152
     //
152
     //
153
     // Send off the message to the engine
153
     // Send off the message to the engine
154
     //
154
     //
155
     if(i = msgsnd(msqID,(struct msgbuf *)&HdrBuff,MsgDataSize,0) != -1)
155
     if((i = msgsnd(msqID,(struct msgbuf *)&HdrBuff,MsgDataSize,0)) != -1)
156
      {
156
      {
157
        //
157
        //
158
        // Let's set up a little loop here receiving messages in case
158
        // Let's set up a little loop here receiving messages in case
159
-- raidutils-0.0.6.orig/lib/engcalls.cpp
159
++ raidutils-0.0.6/lib/engcalls.cpp
Lines 987-993 Link Here
987
987
988
  /* The Attach Failed, So DeAllocate The Shared Memory */
988
  /* The Attach Failed, So DeAllocate The Shared Memory */
989
989
990
        if((int)SharedMemoryPtr == -1)
990
        if((long)SharedMemoryPtr == -1)
991
          {
991
          {
992
            shmctl(BufferID,IPC_RMID,&shm_buff);
992
            shmctl(BufferID,IPC_RMID,&shm_buff);
993
            SharedMemoryPtr = NULL;
993
            SharedMemoryPtr = NULL;
994
-- raidutils-0.0.6.orig/raideng/eng_unix.cpp
994
++ raidutils-0.0.6/raideng/eng_unix.cpp
Lines 491-497 Link Here
491
491
492
  /* Make Sure That We Could Attach */
492
  /* Make Sure That We Could Attach */
493
493
494
            if((int)toEng_P != -1)
494
            if((long)toEng_P != -1)
495
              {
495
              {
496
                 fromEng_P = toEng_P + HdrBuff.FromEngBuffOffset;
496
                 fromEng_P = toEng_P + HdrBuff.FromEngBuffOffset;
497
497
Lines 909-915 Link Here
909
#else
909
#else
910
void DisplayHelp(void)
910
void DisplayHelp(void)
911
  {
911
  {
912
    printf("The Pramaters For This Program Are :\n");
912
    printf("The Parameters For This Program Are :\n");
913
    printf(
913
    printf(
914
"  /VERBOSE            :  Display All Connection And Message Information\n");
914
"  /VERBOSE            :  Display All Connection And Message Information\n");
915
    printf(
915
    printf(
916
-- raidutils-0.0.6.orig/raideng/unreslvd.cpp
916
++ raidutils-0.0.6/raideng/unreslvd.cpp
Lines 34-40 Link Here
34
   char *__nw__FUi(int size)
34
   char *__nw__FUi(int size)
35
   {
35
   {
36
        char *p;
36
        char *p;
37
        p = (char *)malloc(size);          
37
	p = (char *)malloc((size_t)size);
38
        return(p);
38
        return(p);
39
   }
39
   }
40
40
41
-- raidutils-0.0.6.orig/raideng/i2odep.h
41
++ raidutils-0.0.6/raideng/i2odep.h
Lines 203-209 Link Here
203
# define _F_set12bit4(w,x,y,z,u) ((w)->z = (u))
203
# define _F_set12bit4(w,x,y,z,u) ((w)->z = (u))
204
# define _F_get16bit(w,x,y,z)    ((U16)((w)->z))
204
# define _F_get16bit(w,x,y,z)    ((U16)((w)->z))
205
# define _F_set16bit(w,x,y,z,u)  ((w)->z = (u))
205
# define _F_set16bit(w,x,y,z,u)  ((w)->z = (u))
206
#elif (defined(_DPT_BIG_ENDIAN))
206
#elif (defined(_DPT_BIG_ENDIAN) || defined(sparc))
207
/* First 12 bits */
207
/* First 12 bits */
208
# define _F_getTID(w,x,y)     getL12bit(w,x,0)
208
# define _F_getTID(w,x,y)     getL12bit(w,x,0)
209
# define _F_setTID(w,x,y,z)   setL12bit(w,x,0,z)
209
# define _F_setTID(w,x,y,z)   setL12bit(w,x,0,z)
210
-- raidutils-0.0.6.orig/raideng/connect.hpp
210
++ raidutils-0.0.6/raideng/connect.hpp
Lines 189-195 Link Here
189
189
190
// Constructor/Destructor.............................
190
// Constructor/Destructor.............................
191
191
192
			dptSCSIcon_C::dptSCSIcon_C();
192
			dptSCSIcon_C();
193
193
194
// Message Handlers...................................
194
// Message Handlers...................................
195
195
196
-- raidutils-0.0.6.orig/raideng/raid.h
196
++ raidutils-0.0.6/raideng/raid.h
Lines 271-277 Link Here
271
271
272
// Constructor/Destructor.............................
272
// Constructor/Destructor.............................
273
273
274
			raidDef_S::raidDef_S();
274
			raidDef_S();
275
275
276
};
276
};
277
#endif  // c++
277
#endif  // c++
278
-- raidutils-0.0.6.orig/raideng/osd_unix.cpp
278
++ raidutils-0.0.6/raideng/osd_unix.cpp
Lines 164-169 Link Here
164
#define TO_LOGGER_BUFFER_SIZE    0x1000
164
#define TO_LOGGER_BUFFER_SIZE    0x1000
165
#define FROM_LOGGER_BUFFER_SIZE  0x10000
165
#define FROM_LOGGER_BUFFER_SIZE  0x10000
166
166
167
/* Definitions - Device names -----------------------------------------------*/
168
169
char *DEV_CTL = "/dev/i2octl";	// formerly /dev/i2o/ctl
170
167
/* Function Prototypes ------------------------------------------------------*/
171
/* Function Prototypes ------------------------------------------------------*/
168
172
169
DPT_RTN_T osdIOrequest(uSHORT ioMethod);
173
DPT_RTN_T osdIOrequest(uSHORT ioMethod);
Lines 374-405 Link Here
374
378
375
   if(ioMethod==DPT_IO_PASS_THRU)
379
   if(ioMethod==DPT_IO_PASS_THRU)
376
     {
380
     {
381
       // make sure the device entry represents an active device and not
382
       // just a device file that was probed without actually finding a
383
       // device, so we don't wait 20 seconds trying to connect to 
384
       // it...
385
       if(DefaultHbaDev->Flags == 0 )
386
         {
387
           FormatTimeString(TimeString,time(0));
388
           printf("\nosdIDrequest   : %s Fatal error, DefaultHbaDev does not point to an active controller.\n", TimeString);
389
           fflush(stdout);
390
         }
391
       else {
377
392
378
  /* Try To Open The First Adapter Device */
393
              /* Try To Open The First Adapter Device */
379
394
380
       for(Index = 0; Index < 20; ++Index)
395
                     for(Index = 0; Index < 20; ++Index)
381
        {
396
               {
382
          FileID = open(DefaultHbaDev->NodeName,O_RDONLY);
397
                 FileID = open(DefaultHbaDev->NodeName,O_RDONLY);
383
          if((FileID == -1)&&(errno == ENOENT))
398
                 if((FileID == -1)&&(errno == ENOENT))
384
           {
399
                  {
385
             sleep(1);
400
                    sleep(1);
386
           }
401
                  }
387
           else {
402
                  else {
388
                  break;
403
                         break;
389
           }
404
                  }
390
        }
405
               }
391
406
392
#ifdef _SINIX_ADDON
407
#ifdef _SINIX_ADDON
393
       if (DemoMode)
408
              if (DemoMode)
394
           FileID = 99;
409
                  FileID = 99;
395
#endif
410
#endif
396
       if(FileID != -1)
411
              if(FileID != -1)
397
         {
412
                {
398
           retVal = MSG_RTN_COMPLETED;
413
                  retVal = MSG_RTN_COMPLETED;
399
           close(FileID);
414
                  close(FileID);
400
         }
415
                }
401
       else printf("\nosdIOrequest : File %s Could Not Be Opened",
416
              else printf("\nosdIOrequest : File %s Could Not Be Opened",
402
                     DefaultHbaDev->NodeName);
417
                            DefaultHbaDev->NodeName);
418
            }
403
     }
419
     }
404
   if(Verbose)
420
   if(Verbose)
405
        printf("\nosdIOrequest   : Return = %x",retVal);
421
        printf("\nosdIOrequest   : Return = %x",retVal);
Lines 501-506 Link Here
501
   retVal = MSG_RTN_COMPLETED;
517
   retVal = MSG_RTN_COMPLETED;
502
   NumHBAs = BuildNodeNameList();
518
   NumHBAs = BuildNodeNameList();
503
519
520
   // If there are no HBAs found, abort with an explict error message.
521
   if(NumHBAs == 0)
522
     {
523
     FormatTimeString(TimeString,time(0));
524
     printf("\nosdOpenEngine  : %s Fatal error, no active controller device files found.\n", TimeString);
525
     retVal = MSG_RTN_FAILED;
526
     fflush(stdout);
527
     }
528
504
   if(Verbose)
529
   if(Verbose)
505
     {
530
     {
506
        FormatTimeString(TimeString,time(0));
531
        FormatTimeString(TimeString,time(0));
Lines 1232-1238 Link Here
1232
#elif defined (_DPT_SCO) || defined (SNI_MIPS) || defined(_DPT_SOLARIS) || defined(_DPT_BSDI) || defined(_DPT_FREE_BSD) || defined(_DPT_LINUX)
1257
#elif defined (_DPT_SCO) || defined (SNI_MIPS) || defined(_DPT_SOLARIS) || defined(_DPT_BSDI) || defined(_DPT_FREE_BSD) || defined(_DPT_LINUX)
1233
1258
1234
#if defined(_DPT_LINUX_I2O)
1259
#if defined(_DPT_LINUX_I2O)
1235
		     if(strcmp(HbaDevs[HbaNum].NodeName, "/dev/i2o/ctl"))
1260
		     if(strcmp(HbaDevs[HbaNum].NodeName, DEV_CTL))
1236
                        i = ioctl(FileID,I2OUSRCMD,IoctlBuffer_P);
1261
                        i = ioctl(FileID,I2OUSRCMD,IoctlBuffer_P);
1237
		     else {
1262
		     else {
1238
                        struct i2o_cmd_passthru pt;
1263
                        struct i2o_cmd_passthru pt;
Lines 2144-2150 Link Here
2144
                       i = 0;
2169
                       i = 0;
2145
                }
2170
                }
2146
#elif defined(_DPT_LINUX_I2O)
2171
#elif defined(_DPT_LINUX_I2O)
2147
                if(strcmp(HbaDevs[Count].NodeName, "/dev/i2o/ctl"))
2172
                if(strcmp(HbaDevs[Count].NodeName, DEV_CTL))
2148
                   i = osdSendIoctl(&HbaDevs[Count],DPT_CTRLINFO,DataBuff,&pkt);
2173
                   i = osdSendIoctl(&HbaDevs[Count],DPT_CTRLINFO,DataBuff,&pkt);
2149
		else {
2174
		else {
2150
		   /*
2175
		   /*
Lines 2367-2373 Link Here
2367
       SysInfo_P->busType = SI_PCI_BUS;
2392
       SysInfo_P->busType = SI_PCI_BUS;
2368
       SysInfo_P->processorFamily = PROC_INTEL;
2393
       SysInfo_P->processorFamily = PROC_INTEL;
2369
       buffer_size = sysinfo(SI_ARCHITECTURE, buffer_ptr, 0);
2394
       buffer_size = sysinfo(SI_ARCHITECTURE, buffer_ptr, 0);
2370
       buffer_ptr = (char *)malloc((int)buffer_size);
2395
       buffer_ptr = (char *)malloc((size_t)buffer_size);
2371
       status = sysinfo(SI_ARCHITECTURE, buffer_ptr, buffer_size);
2396
       status = sysinfo(SI_ARCHITECTURE, buffer_ptr, buffer_size);
2372
       if (status != -1)
2397
       if (status != -1)
2373
        {
2398
        {
Lines 2647-2653 Link Here
2647
2672
2648
  /* The Attach Failed, So DeAllocate The Shared Memory */
2673
  /* The Attach Failed, So DeAllocate The Shared Memory */
2649
2674
2650
            if((int)SharedMemoryPtr == -1)
2675
            if((long)SharedMemoryPtr == -1)
2651
              {
2676
              {
2652
                Rtnval = 1;
2677
                Rtnval = 1;
2653
                shmctl(BufferID,IPC_RMID,&shm_buff);
2678
                shmctl(BufferID,IPC_RMID,&shm_buff);
Lines 2782-2788 Link Here
2782
        toLoggerTotalSize = toLoggerSize + sizeof(dptBuffer_S);
2807
        toLoggerTotalSize = toLoggerSize + sizeof(dptBuffer_S);
2783
        fromLoggerTotalSize = fromEngSize + sizeof(dptBuffer_S);
2808
        fromLoggerTotalSize = fromEngSize + sizeof(dptBuffer_S);
2784
        FromLoggerBuffOffset = toLoggerTotalSize;
2809
        FromLoggerBuffOffset = toLoggerTotalSize;
2785
        Ptr = (char *)malloc((uINT)(toLoggerTotalSize + fromLoggerTotalSize));
2810
        Ptr = (char *)malloc((size_t)(toLoggerTotalSize + fromLoggerTotalSize));
2786
        if(Ptr != NULL)
2811
        if(Ptr != NULL)
2787
          {
2812
          {
2788
            *toLogger_P_P = Ptr;
2813
            *toLogger_P_P = Ptr;
Lines 3421-3427 Link Here
3421
 {
3446
 {
3422
   void *Rtnval;
3447
   void *Rtnval;
3423
3448
3424
   Rtnval = (void *)malloc((uINT)size);
3449
   Rtnval = (void *)malloc((size_t)size);
3425
   if(Verbose)
3450
   if(Verbose)
3426
     {
3451
     {
3427
       FormatTimeString(TimeString,time(0));
3452
       FormatTimeString(TimeString,time(0));
Lines 3743-3758 Link Here
3743
   NumEntries = 0;
3768
   NumEntries = 0;
3744
3769
3745
#  if (defined(_DPT_LINUX_I2O))
3770
#  if (defined(_DPT_LINUX_I2O))
3771
   uCHAR LinuxI2ODataBuff[MAX_I2O_CONTROLLERS];
3772
3746
   memset(&pkt, 0, sizeof(EATA_CP));
3773
   memset(&pkt, 0, sizeof(EATA_CP));
3747
   HbaDevs[NumEntries].Flags = 0;
3774
   HbaDevs[NumEntries].Flags = 0;
3748
   strcpy(HbaDevs[NumEntries].NodeName, "/dev/i2o/ctl");
3775
   strcpy(HbaDevs[NumEntries].NodeName, DEV_CTL);
3749
   IoctlRtn = osdSendIoctl(&HbaDevs[NumEntries], I2OGETIOPS, (uCHAR *)&NumEntries, &pkt);
3776
   IoctlRtn = osdSendIoctl(&HbaDevs[NumEntries], I2OGETIOPS, LinuxI2ODataBuff, &pkt);
3750
   if(!IoctlRtn) {
3777
   if(!IoctlRtn) {
3751
     for(i = 0; i < NumEntries; i ++) {
3778
     // step through the returned data buffer and look for the 
3752
       HbaDevs[i].Flags = NODE_FILE_VALID_HBA_B | NODE_FILE_I2O_HBA_B;
3779
     // non-zero entries, which indicate an active IOP.  For each
3753
       HbaDevs[i].IoAddress = UINTPTR_MAX;
3780
     // one we find, add a corresponding entry in HbaDevs.
3754
       strcpy(HbaDevs[i].NodeName, "/dev/i2o/ctl");
3781
     for(i = 0; i < MAX_I2O_CONTROLLERS; i ++) {
3755
     }
3782
       if ( LinuxI2ODataBuff[i] != 0  ) 
3783
        {
3784
          if(NumEntries >= MAX_HAS)
3785
           {
3786
             FormatTimeString(TimeString,time(0));
3787
3788
             printf("\nBuildNodeNameList  : %s Warning: Found more than %d Linux I2O Controlers; ignoring those that won't fit in the HbaDevs array.",
3789
                    TimeString, MAX_HAS);
3790
3791
             fflush(stdout);
3792
             break;
3793
            }
3794
          if(Verbose)
3795
            {
3796
              FormatTimeString(TimeString,time(0));
3797
3798
              printf("\nBuildNodeNameList  : %s Found Linux I2O Controler, using %s device file for utility-relative controller number %d.",
3799
                     TimeString, DEV_CTL, NumEntries);
3800
3801
              fflush(stdout);
3802
            }
3803
3804
          HbaDevs[NumEntries].Flags = NODE_FILE_VALID_HBA_B | NODE_FILE_I2O_HBA_B;
3805
          HbaDevs[NumEntries].IoAddress = UINTPTR_MAX;
3806
          strcpy(HbaDevs[NumEntries].NodeName, DEV_CTL);
3807
3808
          ++NumEntries;
3809
        }
3810
       else {
3811
              // for now, we'll assume that all the active IOP entries
3812
              // are at the front of the returned buffer.  In order to
3813
              // support "gaps", we'd need to record the IOP index in the
3814
              // NodeFiles_S structure and use that instead of HbaNum when
3815
              // we call the I2OPASSTHRU ioctl (or make sure that
3816
              // everything that looks at HbaDevs can handle inactive
3817
              // entries in the middle of the array).
3818
              break;
3819
       }
3820
     } // for(i = 0; i < MAX_I2O_CONTROLLERS; i ++) 
3756
   }
3821
   }
3757
#  endif
3822
#  endif
3758
3823
3759
-- raidutils-0.0.6.orig/include/get_info.h
3824
++ raidutils-0.0.6/include/get_info.h
Lines 364-369 Link Here
364
   #include    "device.hh"
364
   #include    "device.hh"
365
   #include    "raid_dev.hh"
365
   #include    "raid_dev.hh"
366
366
367
     // use PACK for things that should be packed;
368
     // PACK_A for things that you'd like packed by would give a
369
     // warning on anything except an ARM if actually packed; and
370
     // PACK_WAS if it used to be packed by this gave warnings
371
     // everywhere so now it isn't.
372
367
#undef PACK
373
#undef PACK
368
#if (defined(__GNUC__))
374
#if (defined(__GNUC__))
369
# define PACK __attribute__ ((packed))
375
# define PACK __attribute__ ((packed))
Lines 371-389 Link Here
371
#define PACK
377
#define PACK
372
#endif
378
#endif
373
379
380
#ifdef __arm__
381
# define PACK_A PACK
382
#else
383
# define PACK_A
384
#endif
385
386
#define PACK_WAS
387
374
   uSHORT flags2;        // Supplemental flags word
388
   uSHORT flags2;        // Supplemental flags word
375
   uSHORT hbaIndex; // HBA index # (slot #)
389
   uSHORT hbaIndex; // HBA index # (slot #)
376
   uSHORT hbaFlags; // HBA flags - see bit definitions below
390
   uSHORT hbaFlags; // HBA flags - see bit definitions below
377
#if defined (_DPT_STRICT_ALIGN)
391
#if defined (_DPT_STRICT_ALIGN)
378
   uSHORT sniAdjust3;
392
   uSHORT sniAdjust3;
379
#endif
393
#endif
380
   uLONG  magicNum  PACK; // RAID magic #
394
   uLONG  magicNum  PACK;	// RAID magic #
381
   uLONG  hbaTag    PACK;     // Reserved for future expansion
395
   uLONG  hbaTag    PACK;	// Reserved for future expansion
382
   uLONG  flags3    PACK;     // Miscellaneous flags - see bit definitions above
396
   uLONG  flags3    PACK;	// Miscellaneous flags - see bit definitions above
383
   uSHORT busSpeed  PACK;     // Negotiated bus speed (in Mhz)
397
   uSHORT busSpeed  PACK;	// Negotiated bus speed (in Mhz)
384
   uCHAR  p2Flags   PACK;     // Path 2 flags - see bit definitions above
398
   uCHAR  p2Flags   PACK_WAS;	// Path 2 flags - see bit definitions above
385
   uCHAR  reserved4 PACK;     // Reserved for future expansion
399
   uCHAR  reserved4 PACK_WAS;	// Reserved for future expansion
386
   uLONG  availableCapacity PACK;     // Reserved for future expansion
400
   uLONG  availableCapacity PACK;	// Reserved for future expansion
387
401
388
   uCHAR  udmaModeSupported;// The maximum UDMA mode supported
402
   uCHAR  udmaModeSupported;// The maximum UDMA mode supported
389
   uCHAR  udmaModeSelected;	// The current operational UDMA mode
403
   uCHAR  udmaModeSelected;	// The current operational UDMA mode
390
-- raidutils-0.0.6.orig/include/osd_unix.h
404
++ raidutils-0.0.6/include/osd_unix.h
Lines 59-65 Link Here
59
#define DPT_EngineKey      0x02    /* Message Que and Type for engine         */
59
#define DPT_EngineKey      0x02    /* Message Que and Type for engine         */
60
#define DPT_LoggerKey      0x03    /* Message Type For Logger                 */
60
#define DPT_LoggerKey      0x03    /* Message Type For Logger                 */
61
#define DPT_CommEngineKey  0x04    /* Message Que Type Created                */
61
#define DPT_CommEngineKey  0x04    /* Message Que Type Created                */
62
 
62
63
#define MSG_RECEIVE    0x40000000  /* Ored Into Logger PID For Return Msg     */
63
#define MSG_RECEIVE    0x40000000  /* Ored Into Logger PID For Return Msg     */
64
64
65
#define ENGMSG_ECHO        0x00    /* Turnarround Echo Engine Message         */
65
#define ENGMSG_ECHO        0x00    /* Turnarround Echo Engine Message         */
Lines 68-90 Link Here
68
68
69
  /* Message Que Creation Flags */
69
  /* Message Que Creation Flags */
70
70
71
#define MSG_URD            00400  
71
#define MSG_URD            00400
72
#define MSG_UWR            00200  
72
#define MSG_UWR            00200
73
#define MSG_GRD            00040  
73
#define MSG_GRD            00040
74
#define MSG_GWR            00020  
74
#define MSG_GWR            00020
75
#define MSG_ORD            00004  
75
#define MSG_ORD            00004
76
#define MSG_OWR            00002  
76
#define MSG_OWR            00002
77
#define MSG_ALLRD          00444
77
#define MSG_ALLRD          00444
78
#define MSG_ALLWR          00222
78
#define MSG_ALLWR          00222
79
79
80
  /* Message Que Creation Flags */
80
  /* Message Que Creation Flags */
81
81
82
#define SHM_URD            00400  
82
#define SHM_URD            00400
83
#define SHM_UWR            00200  
83
#define SHM_UWR            00200
84
#define SHM_GRD            00040  
84
#define SHM_GRD            00040
85
#define SHM_GWR            00020  
85
#define SHM_GWR            00020
86
#define SHM_ORD            00004  
86
#define SHM_ORD            00004
87
#define SHM_OWR            00002  
87
#define SHM_OWR            00002
88
#define SHM_ALLRD          00444
88
#define SHM_ALLRD          00444
89
#define SHM_ALLWR          00222
89
#define SHM_ALLWR          00222
90
90
Lines 101-107 Link Here
101
#define ExitEngOpenFail          10
101
#define ExitEngOpenFail          10
102
#define ExitDuplicateEngine      11
102
#define ExitDuplicateEngine      11
103
103
104
#define ExitCommAllocFail        12 
104
#define ExitCommAllocFail        12
105
#define ExitDuplicateCommEng     13
105
#define ExitDuplicateCommEng     13
106
#define ExitCommConnectFail      14
106
#define ExitCommConnectFail      14
107
107
Lines 117-123 Link Here
117
	uCHAR ConfigLength[4];       /* Len in bytes after this field.      */
117
	uCHAR ConfigLength[4];       /* Len in bytes after this field.      */
118
	uCHAR EATAsignature[4];
118
	uCHAR EATAsignature[4];
119
	uCHAR EATAversion;
119
	uCHAR EATAversion;
120
        uCHAR Flags1;                
120
        uCHAR Flags1;
121
	uCHAR PadLength[2];
121
	uCHAR PadLength[2];
122
	uCHAR HBA[4];
122
	uCHAR HBA[4];
123
	uCHAR CPlength[4];           /* Command Packet Length               */
123
	uCHAR CPlength[4];           /* Command Packet Length               */
Lines 127-134 Link Here
127
        uCHAR Flags2;
127
        uCHAR Flags2;
128
	uCHAR Reserved0;             /* Reserved Field                       */
128
	uCHAR Reserved0;             /* Reserved Field                       */
129
        uCHAR Flags3;
129
        uCHAR Flags3;
130
        uCHAR ScsiValues; 
130
        uCHAR ScsiValues;
131
	uCHAR MaxLUN;                /* Maximun LUN Supported                */ 
131
	uCHAR MaxLUN;                /* Maximun LUN Supported                */
132
        uCHAR Flags4;
132
        uCHAR Flags4;
133
	uCHAR RaidNum;               /* RAID HBA Number For Stripping        */
133
	uCHAR RaidNum;               /* RAID HBA Number For Stripping        */
134
	uCHAR Reserved3;             /* Reserved Field                       */
134
	uCHAR Reserved3;             /* Reserved Field                       */
Lines 236-242 Link Here
236
/* Inform driver to reset adapter */
236
/* Inform driver to reset adapter */
237
#define I2ORESETCMD	(('D'<<8)|78)
237
#define I2ORESETCMD	(('D'<<8)|78)
238
238
239
#else  
239
#else
240
240
241
  /* Unix Ioctl Command definitions */
241
  /* Unix Ioctl Command definitions */
242
242
Lines 360-372 Link Here
360
360
361
        uCHAR     HbaTargetID;
361
        uCHAR     HbaTargetID;
362
        uCHAR     HbaLUN;
362
        uCHAR     HbaLUN;
363
 
363
364
#endif  /* _DPT_AIX */
364
#endif  /* _DPT_AIX */
365
365
366
        uCHAR    cp_Flags1;          /* Command Flags                       */
366
        uCHAR    cp_Flags1;          /* Command Flags                       */
367
	uCHAR    cp_Req_Len;         /* AutoRequestSense Data length.       */
367
	uCHAR    cp_Req_Len;         /* AutoRequestSense Data length.       */
368
	uCHAR    cp_Resv1[3];        /* Reserved Fields                     */
368
	uCHAR    cp_Resv1[3];        /* Reserved Fields                     */
369
        uCHAR    cp_Flags2; 
369
        uCHAR    cp_Flags2;
370
        uCHAR    cp_Flags3;
370
        uCHAR    cp_Flags3;
371
        uCHAR    cp_ScsiAddr;
371
        uCHAR    cp_ScsiAddr;
372
	uCHAR    cp_msg0;            /* Identify and Disconnect Message.    */
372
	uCHAR    cp_msg0;            /* Identify and Disconnect Message.    */
Lines 390-406 Link Here
390
	struct  dpt_sg SG_List[DPT_MAX_DMA_SEGS];
390
	struct  dpt_sg SG_List[DPT_MAX_DMA_SEGS];
391
	union {
391
	union {
392
		char *b_scratch;
392
		char *b_scratch;
393
		struct scsi_cmd *b_ownerp; 
393
		struct scsi_cmd *b_ownerp;
394
	      } cc;
394
	      } cc;
395
	paddr_t ccb_paddr;
395
	paddr_t ccb_paddr;
396
	uSHORT IOAddress;
396
	uSHORT IOAddress;
397
	
397
398
#else  /* _DPT_SOLARIS */
398
#else  /* _DPT_SOLARIS */
399
399
400
	uLONG     TimeOut ;
400
	uLONG     TimeOut ;
401
	uCHAR     HostStatus;
401
	uCHAR     HostStatus;
402
	uCHAR     TargetStatus;
402
	uCHAR     TargetStatus;
403
	uCHAR     Retries; 
403
	uCHAR     Retries;
404
404
405
#endif  /* _DPT_SOLARIS else */
405
#endif  /* _DPT_SOLARIS else */
406
406
Lines 451-457 Link Here
451
	uCHAR    eataVersion;      /* EATA Version                    */
451
	uCHAR    eataVersion;      /* EATA Version                    */
452
	uLONG    cpLength;         /* EATA Command Packet Length      */
452
	uLONG    cpLength;         /* EATA Command Packet Length      */
453
	uLONG    spLength;         /* EATA Status Packet Length       */
453
	uLONG    spLength;         /* EATA Status Packet Length       */
454
	uCHAR    drqNum;           /* DRQ Index (0,5,6,7)             */ 
454
	uCHAR    drqNum;           /* DRQ Index (0,5,6,7)             */
455
	uCHAR    flag1;            /* EATA Flags 1 (Byte 9)           */
455
	uCHAR    flag1;            /* EATA Flags 1 (Byte 9)           */
456
	uCHAR    flag2;            /* EATA Flags 2 (Byte 30)          */
456
	uCHAR    flag2;            /* EATA Flags 2 (Byte 30)          */
457
457
Lines 462-471 Link Here
462
462
463
typedef struct {
463
typedef struct {
464
464
465
	uINT     state;            /* Operational state            */ 
465
	uINT     state;            /* Operational state            */
466
	uCHAR    id[4];            /* Host adapter SCSI id         */ 
466
	uCHAR    id[4];            /* Host adapter SCSI id         */
467
	uINT     vect;             /* Interrupt vector number      */ 
467
	uINT     vect;             /* Interrupt vector number      */
468
	uLONG    base;             /* Base I/O address             */ 
468
	uLONG    base;             /* Base I/O address             */
469
	int      ha_max_jobs;      /* Max number of Active Jobs    */
469
	int      ha_max_jobs;      /* Max number of Active Jobs    */
470
        uLONG    ha_cacheParams;
470
        uLONG    ha_cacheParams;
471
	int      ha_nbus;          /* Number Of Busses on HBA      */
471
	int      ha_nbus;          /* Number Of Busses on HBA      */
Lines 500-513 Link Here
500
	uCHAR  eataVersion;      /* EATA Version                    */
500
	uCHAR  eataVersion;      /* EATA Version                    */
501
	uLONG  cpLength;         /* EATA Command Packet Length      */
501
	uLONG  cpLength;         /* EATA Command Packet Length      */
502
	uLONG  spLength;         /* EATA Status Packet Length       */
502
	uLONG  spLength;         /* EATA Status Packet Length       */
503
	uCHAR  drqNum;           /* DRQ Index (0,5,6,7)             */ 
503
	uCHAR  drqNum;           /* DRQ Index (0,5,6,7)             */
504
	uCHAR  eataflag1;        /* EATA Flags 1 (Byte 9)           */
504
	uCHAR  eataflag1;        /* EATA Flags 1 (Byte 9)           */
505
	uCHAR  eataflag2;        /* EATA Flags 2 (Byte 30)          */
505
	uCHAR  eataflag2;        /* EATA Flags 2 (Byte 30)          */
506
	uCHAR  maxChannel;       /* Maximum Channel Number          */
506
	uCHAR  maxChannel;       /* Maximum Channel Number          */
507
	uCHAR  maxID;            /* Maximum Target ID               */
507
	uCHAR  maxID;            /* Maximum Target ID               */
508
	uCHAR  maxLUN;           /* Maximum LUN                     */
508
	uCHAR  maxLUN;           /* Maximum LUN                     */
509
	uCHAR  HbaBusType;       /* HBA Bus Type, EISA, PCI, etc    */
509
	uCHAR  HbaBusType;       /* HBA Bus Type, EISA, PCI, etc    */
510
	uCHAR  RaidNum;          /* Host Adapter RAID Number        */  
510
	uCHAR  RaidNum;          /* Host Adapter RAID Number        */
511
511
512
	       } HbaInfo;
512
	       } HbaInfo;
513
513
Lines 519-525 Link Here
519
519
520
/*
520
/*
521
 * DPT Host Adapter config information structure - this structure contains
521
 * DPT Host Adapter config information structure - this structure contains
522
 * configuration information about an adapter.  It is imbedded into the 
522
 * configuration information about an adapter.  It is imbedded into the
523
 * dpt_ctl structure.
523
 * dpt_ctl structure.
524
 */
524
 */
525
525
Lines 554-560 Link Here
554
/*
554
/*
555
 * DPT statistics structure definitions
555
 * DPT statistics structure definitions
556
 */
556
 */
557
typedef struct IO_SIZE_STATS 
557
typedef struct IO_SIZE_STATS
558
{
558
{
559
  uLONG TotalIoCount;
559
  uLONG TotalIoCount;
560
  uLONG IoCountRead;
560
  uLONG IoCountRead;
Lines 566-572 Link Here
566
566
567
} IO_SIZE_STATS_T, *pIO_SIZE_STATS_T;
567
} IO_SIZE_STATS_T, *pIO_SIZE_STATS_T;
568
568
569
typedef struct STATS_DATA 
569
typedef struct STATS_DATA
570
{
570
{
571
  uLONG TotalIoCount;
571
  uLONG TotalIoCount;
572
  uLONG TotalUnCachedIoCount;
572
  uLONG TotalUnCachedIoCount;
573
-- raidutils-0.0.6.orig/include/mgr.hh
573
++ raidutils-0.0.6/include/mgr.hh
Lines 34-41 Link Here
34
#define PACK
34
#define PACK
35
#endif
35
#endif
36
36
37
   dptCaddr_S	maxAddr PACK;	// Maximum physical address supported
37
   dptCaddr_S	maxAddr PACK_A;	// Maximum physical address supported
38
   dptCaddr_S	minAddr PACK;	// Minimum physical address supported
38
   dptCaddr_S	minAddr PACK_A;	// Minimum physical address supported
39
39
40
// RAID manager information (Ignore if not a RAID manager)
40
// RAID manager information (Ignore if not a RAID manager)
41
41
42
-- raidutils-0.0.6.orig/include/device.hh
42
++ raidutils-0.0.6/include/device.hh
Lines 27-32 Link Here
27
 */
27
 */
28
28
29
// Data unique to every engine device
29
// Data unique to every engine device
30
31
32
// use PACK for things that should be packed;
33
// PACK_A for things that you'd like packed by would give a
34
// warning on anything except an ARM if actually packed; and
35
// PACK_WAS if it used to be packed by this gave warnings
36
// everywhere so now it isn't.
37
30
#undef PACK
38
#undef PACK
31
#if (defined(__GNUC__))
39
#if (defined(__GNUC__))
32
# define PACK __attribute__ ((packed))
40
# define PACK __attribute__ ((packed))
Lines 34-44 Link Here
34
#define PACK
42
#define PACK
35
#endif
43
#endif
36
44
45
#ifdef __arm__
46
# define PACK_A PACK
47
#else
48
# define PACK_A
49
#endif
50
37
uSHORT		scsiOffset;	// 0=Async mode
51
uSHORT		scsiOffset;	// 0=Async mode
38
				// Non-zero = SCSI offset
52
				// Non-zero = SCSI offset
39
uSHORT		xfrSpeed;	// SCSI transfer speed
53
uSHORT		xfrSpeed;	// SCSI transfer speed
40
dptCcapacity_S	capacity PACK;	// Device capacity
54
dptCcapacity_S	capacity PACK_A;	// Device capacity
41
dptCemuParam_S	emulation PACK;	// Emulated drive parameters
55
dptCemuParam_S	emulation PACK_A;	// Emulated drive parameters
42
  // DPT specific name (ASCII string)
56
  // DPT specific name (ASCII string)
43
  // (Up to 8 valid chars + NULL terminator + 1)
57
  // (Up to 8 valid chars + NULL terminator + 1)
44
uCHAR		dptName[DPT_NAME_SIZE+2];
58
uCHAR		dptName[DPT_NAME_SIZE+2];
45
-- raidutils-0.0.6.orig/include/hba.hh
59
++ raidutils-0.0.6/include/hba.hh
Lines 34-46 Link Here
34
#define PACK
34
#define PACK
35
#endif
35
#endif
36
36
37
   dptIOaddr_U ioAddr PACK;             // EISA/ISA/PCI address
37
   dptIOaddr_U ioAddr PACK_A;             // EISA/ISA/PCI address
38
   uSHORT drvrRefNum;         // Number by which the driver ref-
38
   uSHORT drvrRefNum;         // Number by which the driver ref-
39
					// erences this HBA
39
					// erences this HBA
40
#if defined (_DPT_STRICT_ALIGN)
40
#if defined (_DPT_STRICT_ALIGN)
41
   uSHORT sniAdjust4;
41
   uSHORT sniAdjust4;
42
#endif
42
#endif
43
   dptHBAid_U  id PACK;       // EISA = ID PAL bytes
43
   dptHBAid_U  id PACK_A;       // EISA = ID PAL bytes
44
					// ISA = Not used
44
					// ISA = Not used
45
					// PCI = vendor ID, product ID
45
					// PCI = vendor ID, product ID
46
   uSHORT drqNum;             // DRQ # (0,5,6,7,0xffff=invalid)
46
   uSHORT drqNum;             // DRQ # (0,5,6,7,0xffff=invalid)
Lines 80-86 Link Here
80
   uCHAR  raidID;        // Software selectable RAID ID #
80
   uCHAR  raidID;        // Software selectable RAID ID #
81
   uCHAR  slotID;        // Slot specific RAID ID #
81
   uCHAR  slotID;        // Slot specific RAID ID #
82
82
83
   dptChanInfo_S chanInfo[NUM_CHAN_INFO] PACK; // SCSI channel info (multi-channel boards)
83
   dptChanInfo_S chanInfo[NUM_CHAN_INFO] PACK_A; // SCSI channel info (multi-channel boards)
84
84
85
   uCHAR  excludeStart;
85
   uCHAR  excludeStart;
86
   uCHAR  excludeEnd;
86
   uCHAR  excludeEnd;
87
-- raidutils-0.0.6.orig/include/linux/i2o-dev.h
87
++ raidutils-0.0.6/include/linux/i2o-dev.h
Lines 24-30 Link Here
24
/* How many controllers are we allowing */
24
/* How many controllers are we allowing */
25
#define MAX_I2O_CONTROLLERS	32
25
#define MAX_I2O_CONTROLLERS	32
26
26
27
#include <linux/compiler.h>
28
27
29
#ifndef __KERNEL__
28
#ifndef __KERNEL__
30
29
31
-- raidutils-0.0.6.orig/raidutil/setscfg.hpp
30
++ raidutils-0.0.6/raidutil/setscfg.hpp
Lines 59-65 Link Here
59
{
59
{
60
60
61
	public:
61
	public:
62
		setscfg::setscfg();
62
		setscfg();
63
		virtual	~setscfg();
63
		virtual	~setscfg();
64
64
65
		Dpt_Error execute(String_List **output);
65
		Dpt_Error execute(String_List **output);
66
-- raidutils-0.0.6.orig/raidutil/setcache.hpp
66
++ raidutils-0.0.6/raidutil/setcache.hpp
Lines 55-65 Link Here
55
class SetCache:public Command
55
class SetCache:public Command
56
	{
56
	{
57
	public:
57
	public:
58
		SetCache::SetCache(
58
		SetCache(
59
				SCSI_Addr_List	*addresses,		// a list of addresses
59
			SCSI_Addr_List	*addresses,		// a list of addresses
60
				int				on,				// Whether to enable or disable
60
			int				on,				// Whether to enable or disable
61
				int				rw				// Read or write cacheing.
61
			int				rw				// Read or write cacheing.
62
				);								// to delete raid tables on
62
			);								// to delete raid tables on
63
		SetCache( const SetCache &new_SetCache );
63
		SetCache( const SetCache &new_SetCache );
64
		virtual	~SetCache();
64
		virtual	~SetCache();
65
		SetCache	&operator = ( SetCache &right );
65
		SetCache	&operator = ( SetCache &right );
66
-- raidutils-0.0.6.orig/raidutil/setscfg.cpp
66
++ raidutils-0.0.6/raidutil/setscfg.cpp
Lines 95-98 Link Here
95
        ENTER("Command &setscfg::Clone() const");
95
        ENTER("Command &setscfg::Clone() const");
96
        EXIT();
96
        EXIT();
97
        return(*new setscfg(*this));
97
        return(*new setscfg(*this));
98
}
98
}
99
-- raidutils-0.0.6.orig/raidutil/eventlog.hpp
99
++ raidutils-0.0.6/raidutil/eventlog.hpp
Lines 77-83 Link Here
77
	{
77
	{
78
78
79
	public:
79
	public:
80
		EventLog::EventLog(SCSI_Addr_List *deviceList, 
80
		EventLog(SCSI_Addr_List *deviceList, 
81
            EventLogOptions cmd);
81
            EventLogOptions cmd);
82
		EventLog(const EventLog &new_EventLog);
82
		EventLog(const EventLog &new_EventLog);
83
		virtual	~EventLog();
83
		virtual	~EventLog();
84
-- raidutils-0.0.6.orig/raidutil/alarm.hpp
84
++ raidutils-0.0.6/raidutil/alarm.hpp
Lines 58-64 Link Here
58
class AlarmStatus:public Command
58
class AlarmStatus:public Command
59
	{
59
	{
60
	public:
60
	public:
61
		AlarmStatus::AlarmStatus( int hba, AlarmCommand cmd );							
61
		AlarmStatus( int hba, AlarmCommand cmd );							
62
		AlarmStatus( const AlarmStatus &new_AlarmStatus );
62
		AlarmStatus( const AlarmStatus &new_AlarmStatus );
63
		virtual	~AlarmStatus();
63
		virtual	~AlarmStatus();
64
		AlarmStatus	&operator = ( AlarmStatus &right );
64
		AlarmStatus	&operator = ( AlarmStatus &right );
65
-- raidutils-0.0.6.orig/raidutil/rmwflash.hpp
65
++ raidutils-0.0.6/raidutil/rmwflash.hpp
Lines 59-65 Link Here
59
{
59
{
60
60
61
        public:
61
        public:
62
                RMWFlash::RMWFlash(int hbaNo, char *Data, int Region, unsigned long Offset, unsigned Size);
62
                RMWFlash(int hbaNo, char *Data, int Region, unsigned long Offset, unsigned Size);
63
                RMWFlash(const RMWFlash &new_RMWFlash);
63
                RMWFlash(const RMWFlash &new_RMWFlash);
64
                virtual ~RMWFlash();
64
                virtual ~RMWFlash();
65
65
66
-- raidutils-0.0.6.orig/raidutil/segment.hpp
66
++ raidutils-0.0.6/raidutil/segment.hpp
Lines 51-57 Link Here
51
{
51
{
52
52
53
	public:
53
	public:
54
		arraySegment::arraySegment(SCSI_Address raidToSeg, uLONG segSize[8], uLONG segOffset[8], bool showSeg);
54
		arraySegment(SCSI_Address raidToSeg, uLONG segSize[8], uLONG segOffset[8], bool showSeg);
55
		arraySegment(const arraySegment &new_arraySegment);
55
		arraySegment(const arraySegment &new_arraySegment);
56
		virtual	~arraySegment();
56
		virtual	~arraySegment();
57
57
58
-- raidutils-0.0.6.orig/raidutil/namarray.hpp
58
++ raidutils-0.0.6/raidutil/namarray.hpp
Lines 58-64 Link Here
58
{
58
{
59
59
60
	public:
60
	public:
61
		NameArray::NameArray(SCSI_Address arrayToName, char *arrayName);
61
		NameArray(SCSI_Address arrayToName, char *arrayName);
62
		NameArray(const NameArray &new_NameArray);
62
		NameArray(const NameArray &new_NameArray);
63
		virtual	~NameArray();
63
		virtual	~NameArray();
64
64
65
-- raidutils-0.0.6.orig/raidutil/expand.hpp
65
++ raidutils-0.0.6/raidutil/expand.hpp
Lines 55-61 Link Here
55
class Expand:public Command
55
class Expand:public Command
56
{
56
{
57
   public:
57
   public:
58
      Expand::Expand (SCSI_Address raid, SCSI_Addr_List *list);
58
                Expand (SCSI_Address raid, SCSI_Addr_List *list);
59
		Expand (const Expand &new_Expand);
59
		Expand (const Expand &new_Expand);
60
		virtual ~Expand();
60
		virtual ~Expand();
61
		Expand &operator = (Expand &right);
61
		Expand &operator = (Expand &right);
62
-- raidutils-0.0.6.orig/raidutil/uartdmp.hpp
62
++ raidutils-0.0.6/raidutil/uartdmp.hpp
Lines 59-65 Link Here
59
{
59
{
60
60
61
	public:
61
	public:
62
		UartDmp::UartDmp(int hbaNo, char *fileName);
62
		UartDmp(int hbaNo, char *fileName);
63
		UartDmp(const UartDmp &new_UartDmp);
63
		UartDmp(const UartDmp &new_UartDmp);
64
		virtual	~UartDmp();
64
		virtual	~UartDmp();
65
65
66
-- raidutils-0.0.6.orig/raidutil/command.cpp
66
++ raidutils-0.0.6/raidutil/command.cpp
Lines 2237-2249 Link Here
2237
}
2237
}
2238
2238
2239
2239
2240
#ifdef sparc
2240
//// Comment out this stuff, for Debian.
2241
# define VOLATILE volatile
2241
// #ifdef sparc
2242
#else
2242
// # define VOLATILE volatile
2243
# define VOLATILE
2243
// #else
2244
#endif
2244
// # define VOLATILE
2245
2245
// #endif
2246
extern "C" { VOLATILE void exit (int);}
2246
//
2247
// extern "C" { VOLATILE void exit (int);}
2247
2248
2248
void Command::Init_Engine(int scanHbasOnly)
2249
void Command::Init_Engine(int scanHbasOnly)
2249
{
2250
{
2250
-- raidutils-0.0.6.orig/raidutil/forcest.hpp
2251
++ raidutils-0.0.6/raidutil/forcest.hpp
Lines 65-71 Link Here
65
class ForceState:public Command
65
class ForceState:public Command
66
	{
66
	{
67
	public:
67
	public:
68
		ForceState::ForceState(SCSI_Addr_List *deviceList, ForceStateOptions cmd);
68
		ForceState(SCSI_Addr_List *deviceList, ForceStateOptions cmd);
69
		ForceState(const ForceState &new_ForceState);
69
		ForceState(const ForceState &new_ForceState);
70
		virtual	~ForceState();
70
		virtual	~ForceState();
71
71
72
-- raidutils-0.0.6.orig/raidutil/setrate.hpp
72
++ raidutils-0.0.6/raidutil/setrate.hpp
Lines 59-66 Link Here
59
	public:
59
	public:
60
60
61
		// Set the (global) rebuild rate
61
		// Set the (global) rebuild rate
62
        SetRate::SetRate(int rate, SCSI_Addr_List *objs);
62
                SetRate(int rate, SCSI_Addr_List *objs);
63
        SetRate::SetRate(const SetRate &right);
63
                SetRate(const SetRate &right);
64
		virtual	~SetRate();
64
		virtual	~SetRate();
65
65
66
		Dpt_Error execute(String_List **output);
66
		Dpt_Error execute(String_List **output);
67
-- raidutils-0.0.6.orig/raidutil/parser.cpp
67
++ raidutils-0.0.6/raidutil/parser.cpp
Lines 730-735 Link Here
730
                    {
730
                    {
731
                             EventLog *temp = new EventLog (components, eventLogOpts);
731
                             EventLog *temp = new EventLog (components, eventLogOpts);
732
                             cmd_List->add_Item (*temp);
732
                             cmd_List->add_Item (*temp);
733
                             delete temp;
733
                    }
734
                    }
734
                    else
735
                    else
735
                        Error_in_Parsing(EventStrings[STR_PARSE_ERR_MUST_SPECIFY_ADDRESS], this_Commands_Text);
736
                        Error_in_Parsing(EventStrings[STR_PARSE_ERR_MUST_SPECIFY_ADDRESS], this_Commands_Text);
Lines 1645-1651 Link Here
1645
                    temp = new NvramBit (Cache_Stale, params.hba_Num, temp_set);
1646
                    temp = new NvramBit (Cache_Stale, params.hba_Num, temp_set);
1646
                else
1647
                else
1647
                    temp = new NvramBit (Cache_Stale, -1, temp_set);
1648
                    temp = new NvramBit (Cache_Stale, -1, temp_set);
1648
                    cmd_List->add_Item (*temp);
1649
                cmd_List->add_Item (*temp);
1649
                delete temp;
1650
                delete temp;
1650
            }
1651
            }
1651
            else if (!strncmp(command_Line, "+cluster", strlen("cluster")))
1652
            else if (!strncmp(command_Line, "+cluster", strlen("cluster")))
1652
-- raidutils-0.0.6.orig/raidutil/taskctrl.hpp
1653
++ raidutils-0.0.6/raidutil/taskctrl.hpp
Lines 59-65 Link Here
59
class TaskControl:public Command
59
class TaskControl:public Command
60
	{
60
	{
61
	public:
61
	public:
62
		TaskControl::TaskControl(SCSI_Addr_List *deviceList, TaskCommandOptions cmd);
62
		TaskControl(SCSI_Addr_List *deviceList, TaskCommandOptions cmd);
63
		TaskControl(const TaskControl &new_TaskControl);
63
		TaskControl(const TaskControl &new_TaskControl);
64
		virtual	~TaskControl();
64
		virtual	~TaskControl();
65
65
66
-- raidutils-0.0.6.orig/raidutil/zap.hpp
66
++ raidutils-0.0.6/raidutil/zap.hpp
Lines 55-61 Link Here
55
class Zap:public Command
55
class Zap:public Command
56
	{
56
	{
57
	public:
57
	public:
58
		Zap::Zap(
58
		Zap(
59
				SCSI_Addr_List	*addresses,  // a list of addresses
59
				SCSI_Addr_List	*addresses,  // a list of addresses
60
            int resync = 0            // (send reset to hba or not)
60
            int resync = 0            // (send reset to hba or not)
61
      );								         // to delete raid tables on
61
      );								         // to delete raid tables on

Return to bug 282455