I am a software developer trying to move into Quality assurance as a white box test engineer.
I know the definition of both white box testing and unit testing but still it is not really very clear.
1) What else does a white box test engineer does apart form writing unit tests?
2) Is writing testing framework same as writing several unit tests in a class.
3) Are there any good books on white box testing?
As a quality assurance engineer, you should not be writing the unit tests. Developers should be writing the unit tests to make sure the code they write works. QA generally tests at a black box level and to test against higher system level requirements. You are playing the role of the customer and running acceptance tests - there are a set of requirements for the system and you need to test that the requirements pass. You can use code coverage tools to make sure all of the code is being executed, and if it's not, either figure out if you need more acceptance tests, or determine if the code is actually necessary (i.e. you don't want useless code in the codebase).
To answer some of your other questions, a test framework is not multiple unit test, it is a tool that easily allows you to write and run unit tests. JUnit is the most prevalent. If you're interested in learning more, read up on JUnit and check out the book xUnit patterns (this book is good for writing actual unit tests). If you're looking for books on other types of testing, a simple amazon search for software testing will give you a lot of hits.