The last and the most magical one is the StateFlags. Refer to the Valve Developer Wiki for more info.
The first is the AppID - the ID of the app you're trying to download. There are a minimum of three variables that have to be set in order for this to work. I found that if the appmanifest file is created manually, Steam will still download the app regardless of platform. If it exists, it creates an appmanifest file (which contains game meta-data: name, size on hard-disk, time of last update, etc), and then proceeds to download it. If it doesn't exist, it tells you so (' is not available on your current platform.') and doesn't do anything. When you tell Steam to download an app, it first checks whether a Linux version exists. Note: Steam will not run apps that don't have Linux support, but it will still download the data. This is a short python script that tricks Steam for Linux into downloading non-Linux apps.