]> git.sur5r.net Git - cc65/blobdiff - src/common/filepos.h
Only for jumps, the lib uses named asm labels in branches
[cc65] / src / common / filepos.h
index fc938c6747af1dfc5d7c869036b7e311a57c737c..d6368ad6f63b3d2c8b5030be850ee1d247e35882 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                filepos.h                                 */
+/*                                 filepos.h                                 */
 /*                                                                           */
-/*                      File position data structure                        */
+/*                       File position data structure                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998     Ullrich von Bassewitz                                        */
-/*              Wacholderweg 14                                              */
-/*              D-70597 Stuttgart                                            */
-/* EMail:       uz@musoftware.de                                             */
+/* (C) 1998-2011, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Type of a file position */
-typedef struct FilePos_ FilePos;
-struct FilePos_ {
-    unsigned long   Line;              /* Line */
-    unsigned       Col;                /* Column */
-    unsigned       Name;               /* File */
+typedef struct FilePos FilePos;
+struct FilePos {
+    unsigned    Line;               /* Line */
+    unsigned    Col;                /* Column */
+    unsigned    Name;               /* File */
 };
 
+/* Initializer for a FilePos */
+#define STATIC_FILEPOS_INITIALIZER      { 0, 0, 0 }
 
 
-/* End of filepos.h */
 
-#endif
+/*****************************************************************************/
+/*                                   Code                                    */
+/*****************************************************************************/
+
+
 
+void InitFilePos (FilePos* P);
+/* Initialize the file position (set all fields to zero) */
 
+int CompareFilePos (const FilePos* P1, const FilePos* P2);
+/* Compare two file positions. Return zero if both are equal, return a value
+** > 0 if P1 is greater and P2, and a value < 0 if P1 is less than P2. The
+** compare rates file index over line over column.
+*/
 
+
+
+/* End of filepos.h */
+
+#endif