Byte Stream implementation in C
A few things:


You are casting the result of your calls to malloc. That is something you shouldn't do actually.
If possible, try not to used fixed-size integer types (uint32_t, int32_t, etc...) for they are only conditionally supported by the compiler. For example, I doubt that you need a fixed-size type for your error codes. At least, use int_least32_t instead.
When you are not using any format string, you should consider using puts to printf (e.g. puts("---") instead of printf("---\n"). That's both shorther and safer.
Also, you initialize i to 0 twice in BSPrintContents. That seems pretty useless.