The correct answer is **a) had**.
**Explanation:** The phrase "all day long yesterday" suggests a completed action in the past. We need to use the simple past tense of the verb "have", which is "had." The options "was having" and "were having" are past continuous tense, used for actions that were in progress for a period of time, which does not fit here.