THE .BBQ FORMAT (Binary Boy Queue) Modified on Jul 11, 2004 Contents --------------- 1. Overview 1.1. Changes 2. Header Section 3. Body Section 3.1 Newsgroup 3.2 Number 3.3 Subject 3.4 Purpose 3.5 Age 3.6 Pre-filtered 3.7 Additional Info 4. Example file 1. Overview ----------- The queue is saved in text format using the same filename as the current group list except with a .BBQ extension. Each group list has it's own queue file. For example, the queue file for mp3.lst is named mp3.bbq. The file contains a header section followed by 0 or more queue entries. Each string or number is stored as plain text on a line by itself and is terminated by a carriage return (13 decimal, 0d hex) / linefeed pair (10 decimal, 0a hex). 1.1. Changes ------------ Oct 10, 2000 - More bit values are defined in section 3. The version number remains 1 because the file format hasn't changed and should be backwards compatible. Jun 12, 2001 - File version 2. Age added. Oct 27, 2001 - Removed an old line of text from section 4. Feb 11, 2003 - File version 3. Prefiltered item added. Jun 24, 2004 - File version 4. "Download To" folder added. Corrected the bit values in section 3.4. Section 3.7 describes an "additional info" block. Updated the example file in section 4. Jul 11, 2004 - Corrected a type in section 4. 2. Header Section ----------------- The first line must match the following 16 characters exactly: [BinaryBoyQueue] The two B's and the Q must be uppercase and the other letters must be lowercase. The line is terminated with a carriage return and linefeed like all other lines. The second line is the version number. This document describes version 4. 3. Body Section --------------- Following the header are the queue items. Each item contains 5 lines. 3.1. Newsgroup name Example: alt.binaries.pictures 3.2. Article Number Example: 22356 3.3. Subject Example: Enclosed is a picture of my car. junker.jpg (1/1) 3.4. Purpose An integer containing a set of bits describing what Binary Boy should do with the article. The default behavior is to download and decode. Bit Description --- ------------------------ 0 - download and display text. 1 - Force download even if file exists in history. 2 - Priority. Download this article before non-priority articles. 3 - Download and store in text.txt if it's a text article. All other bits are reserved for future use and should be set to 0. 3.5. Age An integer from 0 to 1000000 representing the relative position of the article within the newsgroup. Lower is older. This is used by the queue tab's "Oldest First" option. This field is in file version 2 and higher only. 3.6. Prefiltered An integer. Either 1 or 0. 1 means the header filter options have already been applied. This will be the case when using the "Download extended headers" option. 0 means the header filter options must be applied after the article download starts. 3.7 Additional Info An integer followed by 0 or more lines. Each queue item may contain additional information, such as a download folder. If the integer portion of this field is zero, there is no further information. If this field is non-zero, it is a set of bits representing each additional line. The lines are read in order from the lowest bit to the highest. Bit Name --- ---- 0 HasFolder A folder is present. The folder is stored as a single line of text. (The name is for reference only and never appears in the file. Only the actual bit value in decimal is stored.) There currently is only one piece of additional data so version 4 of this file will always contain either a 0 or a 1. Future versions may set higher bits as well. For example, a block of additional data might look like this: 1 c:\downloads\attachments\ An empty block would look like this: 0 The next queue item would begin immediately after the 0. A future version that adds a second bit and uses both the HasFolder bit as well as bit value 0x2 will look like this: 3 c:\downloads\attachments\ A line containing data for the second bit A future queue item that contains information for bit value 0x2 and nothing for the HasFolder bit will look like this: 2 A line containing data for the second bit Notice that unused fields are skipped entirely. 4. Example file --------------- --- Example File Begins Below ---- [BinaryBoyQueue] 4 alt.binaries.pictures.sports 42241 Wimbledon - Kournikova1.jpg (1/1) 0 500000 1 0 alt.binaries.pictures.sports 42240 Wimbledon - Kournikova2.jpg (1/1) 0 502000 1 1 c:\downloads\attachments alt.binaries.pictures.sports 42239 Re: How do I view these files? 1 590000 1 1 --- Example File Ends ---- The first two lines form the header. The first line is the signature. The second line shows the version number of the file format. The header is followed by three queue items. Binary Boy will download and decode "Kournikova1.jpg" (article #42241) and "Kournikova2.jpg" (article 42240). The file will be saved to "c:\downloads\attachments". Binary Boy will display the text of "Re: How do I view these files?" (article #42239).