Here you can see how to read the entire port that the pin you want is on:
https://gist.github.com/technobly/8573877
And here is how to write individual bits:
https://gist.github.com/technobly/8342185
To write the whole port you need to write to the ODR (Output Data Register), so it should be something like this:
PIN_MAP[pin].gpio_peripheral->ODR = 0xFFFF;
Except this still seems like it might be missing something… so keep us updated on what you dig up.
You might want to take a look at STM32F Reference Manual (RM0008) (9.2MB)