Mail:  Username:  Password:   Help | Sign Up
Search: 


Global IDs
by BMB

Global ID (GID) is the four byte (two words) ID of a form, atom stream or piece of art that is used by AOL when referencing objects. Typically each form has a GID. The GID is displayed in two or three parts with a dash between each part.. The two part format is always separated into two words (where each word is two bytes), a hi word (W1) and a lo word (W2). The left most number is the hi word and the number to the right of the dash is the lo word. The conversion formula to a numerical form without a dash would be as follows:

W = (W1*65536) + W2.

For example:
GID = 32-30
W=(32*65536)+30=2097182


For three part GIDs, such as 1-0-2240, the left most number is the highest byte (B1) of the four byte GID. The next number is the low byte (B2) of the hi word. The last number is the lo word (W2). Every time the lo word (W2) of a GID reaches 65536 that number goes back to 0 and the low byte (B2) of the hi word increases by 1 (instead of going from '0-0-65535' to '0-0-65536', it goes from '0-0-65535' to '0-1-0'). Similarly, every time the low byte (B2) of the hi word reaches 256 it returns to 0 and the highest byte (B1) increases by 1 (instead of going from '0-255-65535' to '0-256-0', it goes from '0-255-65535' to '1-0-0'). This means that the absolute highest possible GID is '255-255-65535'. If you attempt to send '255-255-65536' along with any token AOL will automatically send back '0-0-0'.

W=(B1*256 + B2)*65536 + W2

For Example, in GID 1-0-2240, B1=1, B2=0, and W2=2240.

W=(1*256+0)*65536 + 2240 =

Using the above equation I was able to determine that there are 4,294,967,295 possible arguments.

Sometimes having zeros in front of arguments when they aren't needed fucks things up. I created a form with a list box that linked to the first 999 software libraries. I found that sending <"eB", 00001> or <"eB", 00563> would not send back the libraries that I asked for. I fixed the problem by changing them to <"eB", 1> or <"eB", 563>.

When the first number or the first two numbers in an argument are zeros they aren't needed. Sending '0-0-420' or '0-420' is the same as just sending '420'.


Articles
| Documents | Tools | FDO | Atoms | Tokens | Security Breaches

© 2000 BMB and Tau Productions. Contacts: BMB | Tau | Rob