typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;
An ALLEGRO_SHADER(3alleg5) is a program that runs on the GPU. It combines both a vertex and a pixel shader. (In OpenGL terms, an ALLEGRO_SHADER(3alleg5) is actually a program which has one or more shaders attached. This can be confusing.)
The source code for the underlying vertex or pixel shader can be provided either as GLSL or HLSL, depending on the value of ALLEGRO_SHADER_PLATFORM(3alleg5) used when creating it.