List of Stuff in "Engine" and "Platform Layer"

Forgive me if this has been covered, but has anyone compiled a list of everything that is being put into the platform layer and "engine" ? I was looking for a high level list that I could use to start working on my own and reference this series for more in depth knowledge for each item.
Off the top of my head, here are some things associated with the platform layer (in HMH):
- Opening a window
- Getting an OpenGL context
- Allocating a chunk of memory to be used for the game
- Getting access to a sound buffer
- Processing input messages from the OS
- Allocating threads
- Accessing files
- Watching for updates to the DLL where the game code executes so that it can be reloaded as the game runs

Also, there's some stuff I haven't kept up with lately such as getting timing information, getting monitor refresh rate, etc. The platform layer does a lot of the same things something like SDL (Simple DirectMedia Layer) would do.

Hope this helps.
Thanks. That helps a great deal. I'm trying to find a good way to grasp the concepts without copying the code.