Hi. I'm having a problem with passing structures as function arguments. Pay particular attention to the definitions of the functions (lines 29 and 56). Upon compilation I always get these kinds of errors:

error: expected ‘)’ before ‘STRUCT_Users’

Where am I going wrong?

Code:
main() {


    typedef struct {
        char OrigCurr[4];
        char WantCurr[4];
        float ExRate;
    } DATATYPE_Rates;
    
    typedef struct {
        char User[31];
        char Pass[31];
        char Role[14];
    } DATATYPE_Users;
    
    DATATYPE_Rates STRUCT_Rates[100];
    DATATYPE_Users STRUCT_Users[100];
       
    int TXTDATA_Read_Rates();
    int TXTDATA_Read_Users();

    FILE *STREAM_Rates, *STREAM_Users;

    TXTDATA_Read_Rates(&STRUCT_Rates, &STREAM_Rates, &COUNT_Struct_Rates);
    TXTDATA_Read_Users(&STRUCT_Users, &STREAM_Users, &COUNT_Struct_Users);

}

int TXTDATA_Read_Rates(DATATYPE_Rates *a, FILE **STREAM_Rates, int *COUNT_Struct_Rates) {
    
    char FloatVal[99];
    int i;
    
    *STREAM_Rates = fopen("rates.txt", "rt");
    
    if (*STREAM_Rates == NULL)
        printf("  [Error!] \"rates.txt\" does not exist.");
    
    for (i = 0; !feof(*STREAM_Rates); i++) {
        
        fscanf(*STREAM_Rates, "%[^\t\n]\n", a[i].OrigCurr);        
        fscanf(*STREAM_Rates, "%[^\t\n]\n", a[i].WantCurr);        
        fscanf(*STREAM_Rates, "%[^\t\n]\n", FloatVal);
        a[i].ExRate = atof(FloatVal);
        
    }
    
    *COUNT_Struct_Rates = i;


    return *COUNT_Struct_Rates;
    
}


int TXTDATA_Read_Users(DATATYPE_Rates STRUCT_Users, FILE **STREAM_Users, int *COUNT_Struct_Users) {
    
    int i;
    
    *STREAM_Users = fopen("CA_users.txt", "rt");
    
    if (*STREAM_Users == NULL)
        printf("  [Error!] \"CA_users.txt\" does not exist.");
    
    for (i = 0; !feof(*STREAM_Users); i++) {
        
        fscanf(*STREAM_Users, "%[^\t\n]\n", STRUCT_Users[i].User);
        fscanf(*STREAM_Users, "%[^\t\n]\n", STRUCT_Users[i].Pass);
        fscanf(*STREAM_Users, "%[^\t\n]\n", STRUCT_Users[i].Role);
        
    }
    
    *COUNT_Struct_Users = i;
    
    return *COUNT_Struct_Users;


}