Index: trunk/SophyaExt/FitsIOServer/fabtcolread.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtcolread.cc	(revision 2163)
+++ trunk/SophyaExt/FitsIOServer/fabtcolread.cc	(revision 2169)
@@ -466,4 +466,31 @@
 }
 
+/*! idem before but for TVector of int_8 */
+long FitsABTColRead::Read(long n1,long n2,TVector<int_8>& data)
+{
+#ifdef TLONGLONG
+ if(n1<0 || n1>=NBline)
+   throw RangeCheckError("FitsABTColRead::Read TVector bad requested 1srt line \n");
+ if(data.Size()<=0 && n2<n1)
+   throw RangeCheckError("FitsABTColRead::Read TVector bad requested 2sd line \n");
+ if(n2<0) n2 = n1 + data.Size()-1;
+ if(n2>=NBline) n2 = NBline-1;
+
+ sa_size_t nread = n2-n1+1;
+ if(data.Size()<nread) data.SetSize(nread);
+
+ int sta=0;
+ fits_read_col(FitsPtr,TLONGLONG,ColNum+1,n1+1,1,nread,NULL,data.Data(),NULL,&sta);
+ if(sta) {
+   printerror(sta);
+   throw NotAvailableOperation("FitsABTColRead::Read_TVector<float>: Error Reading Fits file\n");
+ }
+
+ return nread;
+#else
+  throw PException("FitsABTColRead::Read(..,TVector<int_8>&) Not in that cfitsio version");
+#endif
+}
+
 /////////////////////////////////////////////////
 /*!
Index: trunk/SophyaExt/FitsIOServer/fabtcolread.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtcolread.h	(revision 2163)
+++ trunk/SophyaExt/FitsIOServer/fabtcolread.h	(revision 2169)
@@ -36,4 +36,5 @@
   long   Read(long n1,long n2,TVector<float>& data);
   long   Read(long n1,long n2,TVector<int_4>& data);
+  long   Read(long n1,long n2,TVector<int_8>& data);
 
   //! return the value of the first row
Index: trunk/SophyaExt/FitsIOServer/fabtwriter.cc
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtwriter.cc	(revision 2163)
+++ trunk/SophyaExt/FitsIOServer/fabtwriter.cc	(revision 2169)
@@ -179,5 +179,5 @@
           if BINARY_TBL and tform="" or tform=NULL)
   \param tunit : fits tunit definition (optional)
-  \param datatype : TBYTE TSHORT TLONG (TINT32BIT) TFLOAT TDOUBLE
+  \param datatype : TBYTE TSHORT TLONG (TINT32BIT) TLONGLONG TFLOAT TDOUBLE
                     TUSHORT TULONG. That parameter is only use in case
                     of a BINARY_TBL table when tform is not defined).
@@ -201,7 +201,11 @@
    if(datatype==TBYTE)          strcpy(str,"1B");
    else if(datatype==TSHORT)    strcpy(str,"1I");
-   //CMV$CHECK Commentaire temporaire (il faut au moins cfitsio 2204)
-   //else if(datatype==TINT32BIT) strcpy(str,"1J");
    else if(datatype==TLONG)     strcpy(str,"1J");
+#ifdef TINT32BIT
+   else if(datatype==TINT32BIT) strcpy(str,"1J");
+#endif
+#ifdef TLONGLONG
+   else if(datatype==TLONGLONG) strcpy(str,"1K");
+#endif
    else if(datatype==TFLOAT)    strcpy(str,"1E");
    else if(datatype==TDOUBLE)   strcpy(str,"1D");
@@ -310,5 +314,5 @@
 }
 
-/*! Write long data to FITS file (see below) */
+/*! Write long (4 Bytes) data to FITS file (see below) */
 void FitsABTWriter::Write(int col,long row,int_4 val)
 {
@@ -319,4 +323,17 @@
   if(fits_write_col(FitsPtr,T,col+1,row+1,1,1,&val,&sta))
     printerrorwrite("long",col,row,sta);
+}
+
+/*! Write long long (8 Bytes) data to FITS file (see below) */
+void FitsABTWriter::Write(int col,long row,int_8 val)
+{
+#ifdef TLONGLONG
+  if(FirstTime) createtbl();
+  int sta=0;
+  if(fits_write_col(FitsPtr,TLONGLONG,col+1,row+1,1,1,&val,&sta))
+    printerrorwrite("long long",col,row,sta);
+#else
+  throw PException("FitsABTWriter::Write(..,int_8) Not in that cfitsio version");
+#endif
 }
 
@@ -348,5 +365,5 @@
       that is "N-1" is the number of the last row written.
 */
-/*! Write a vector of long data to FITS file (see below) */
+/*! Write a vector of long (4 Bytes) data to FITS file (see below) */
 long FitsABTWriter::Write(int col,long row,TVector<int_4>& val)
 {
@@ -359,4 +376,19 @@
     printerrorwrite("long",col,row,sta);
   return row+nel;
+}
+
+/*! Write a vector of long long (8 Bytes) data to FITS file (see below) */
+long FitsABTWriter::Write(int col,long row,TVector<int_8>& val)
+{
+#ifdef TLONGLONG
+  if(FirstTime) createtbl();
+  long nel = val.Size();
+  int sta=0;
+  if(fits_write_col(FitsPtr,TLONGLONG,col+1,row+1,1,nel,val.Data(),&sta))
+    printerrorwrite("long long",col,row,sta);
+  return row+nel;
+#else
+  throw PException("FitsABTWriter::Write(..,TVector<int_8>&) Not in that cfitio version");
+#endif
 }
 
Index: trunk/SophyaExt/FitsIOServer/fabtwriter.h
===================================================================
--- trunk/SophyaExt/FitsIOServer/fabtwriter.h	(revision 2163)
+++ trunk/SophyaExt/FitsIOServer/fabtwriter.h	(revision 2169)
@@ -48,7 +48,9 @@
   void Write(int col,long row,short val);
   void Write(int col,long row,int_4 val);
+  void Write(int col,long row,int_8 val);
   void Write(int col,long row,float val);
   void Write(int col,long row,double val);
   long Write(int col,long row,TVector<int_4>& val);
+  long Write(int col,long row,TVector<int_8>& val);
   long Write(int col,long row,TVector<float>& val);
   long Write(int col,long row,TVector<double>& val);
