Here's a very basic example for ASL, you can find all the details in the RKRM Libraries 3rd edition:
#include <stdio.h>
#include <libraries/asl.h>
#include <proto/exec.h>
#include <proto/asl.h>
struct Library* AslBase;
int main()
{
AslBase = OldOpenLibrary("asl.library");
if(AslBase != NULL)
{
struct FileRequester* req = AllocAslRequest(ASL_FileRequest, NULL);
if(req != NULL)
{
AslRequest(req, NULL);
printf("%s/%s\n", req->fr_Drawer, req->fr_File);
FreeAslRequest(req);
}
CloseLibrary(AslBase);
}
return 0;
}