Instead of one large function that has to parse URLs, the 3.x method is to have a callback function for each page (or group of pages by using a wildcard match filter). So instead of parsing for "if (httpstricmp(url,"O2SETTINGS_"))" , you register a callback function for the name "O2SETTINGS_" and it gets called directly. So i your code example you would create 3 callback functions, one for each page.
I had read the docs on GET callbacks, but it seemed to only apply to webpages. So there would be a single callback for each webpage, whereas "O2SETTINGS_" is actually a button click on the same webpage that causes certain data to be sent to the webpage which then creates a file on the user's PC to save the data.
I created a callback with the name "O2SETTINGS_*.txt" and it works.
Thanks.