5 uint_fast8_t skipped_chars
;
12 } grading_standard_entry
;
15 * Note that the map structure doesn't dup anything, yet does free
16 * everything. Once something is added as a key or value to the map,
17 * consider it freed. This is true even if the add was for a redundant
27 size_t es
[BUCKET_NUM
];
29 size_t num_values_per_entry
;
33 uint_fast8_t saw_id_key
;
35 uint_fast8_t saw_message_key
;
40 int idx_of_next_entry
;
41 const char **field_names
;
47 uint_fast8_t saw_id_key
;
48 unsigned int enclosing_id_depth
;
49 uint_fast8_t exhausted_enclosing_id
;
50 uint_fast8_t saw_message_key
;
56 unsigned int depth_of_upload_params
;
57 uint_fast8_t in_upload_params
;
58 uint_fast8_t next_val_is_url
;
60 char **upload_params_keys
;
61 char **upload_params_vals
;
62 size_t upload_params_len
;
66 char * get_auth_token(void);
67 char * get_url_base(void);
69 int key_value_extract(const char *path
, const char *cookiejar_path
, const
70 char **field_names
, char *enclosing_id
, map
*m
);
72 int make_gse_post(grading_standard_entry
*cutoffs
, size_t cutoffs_num
, struct
73 curl_httppost
**out_post
);
74 int make_course_post(const char *hgs
, const char *aagw
, int
75 disable_grading_standard
, const char *start_date
, const
77 char *gse_id
, struct curl_httppost
**out_post
);
78 struct curl_httppost
* make_agroup_post(const char *name
, const char *weight
,
79 const char *drop_lowest
, const
81 struct curl_httppost
* make_assignment_post(const char *name
, const
82 char *max_points
, const
85 struct curl_httppost
* make_update_grade_post(char ***csv
, size_t col
, size_t
88 int file_upload(const char *uri
, const char *auth_token
, const char *name
, const char *path
, const
91 int map_add(map
*m
, char *k
, char **vs
);
93 void map_clean(map
*m
);
95 char ** map_get(map
*m
, char *k
);
97 void map_get_keys(map
*m
, char ***out_k
, size_t *out_num
);
99 void print_esc_0x22(const char *s
);
101 int read_csv(FILE *f
, char ****out_csv
, size_t *out_rows
, size_t *out_cols
);
103 int send_and_id_scan(const char *uri
, const char *auth_token
, struct
104 curl_httppost
*post
, const char *method
, char **id
);